欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中使用Notification在状态栏上显示通知

程序员文章站 2022-05-27 19:04:59
场景 状态栏上显示通知效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建NotificationActivity,通过getSystemService方法获取通知管理器。 ......

场景

状态栏上显示通知效果

Android中使用Notification在状态栏上显示通知

 

 

Android中使用Notification在状态栏上显示通知

注:

博客:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建notificationactivity,通过getsystemservice方法获取通知管理器。

然后创建通知并设置通知的一些属性,再使用通知管理器发送通知。

package com.badao.relativelayouttest;

import androidx.annotation.requiresapi;
import androidx.appcompat.app.appcompatactivity;

import android.app.notification;
import android.app.notificationmanager;
import android.app.pendingintent;
import android.content.intent;
import android.os.build;
import android.os.bundle;

public class notificationactivity extends appcompatactivity {
    final int notifyid = 0x123;            //通知的id
    @requiresapi(api = build.version_codes.jelly_bean)
    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        setcontentview(r.layout.activity_notification);
        //新建通知管理器
        final notificationmanager notificationmanager =
                (notificationmanager) getsystemservice(notification_service);
        // 创建一个notification对象
        notification.builder notification = new notification.builder(this);
        // 设置打开该通知,该通知自动消失
        notification.setautocancel(true);
        // 设置通知的图标
        notification.setsmallicon(r.drawable.dog);
        // 设置通知内容的标题
        notification.setcontenttitle("还不赶紧关注公众号");
        // 设置通知内容
        notification.setcontenttext("点击查看详情!");
        //设置使用系统默认的声音、默认震动
        notification.setdefaults(notification.default_sound
                | notification.default_vibrate);
        //设置发送时间
        notification.setwhen(system.currenttimemillis());
        // 创建一个启动其他activity的intent
        intent intent = new intent(notificationactivity.this
                , detailactivity.class);
        pendingintent pi = pendingintent.getactivity(
                notificationactivity.this, 0, intent, 0);
        //设置通知栏点击跳转
        notification.setcontentintent(pi);
        //发送通知
        notificationmanager.notify(notifyid, notification.build());
    }
}

 

点击详情时跳转到detailactivity,设计详情页,显示文本信息

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".detailactivity">

    <textview
        android:layout_width="wrap_content"
        android:text="霸道的程序猿"
        android:layout_height="wrap_content"/>

</linearlayout>