Notification 通用使用笔记

1aad120e670682f59fc49225c5074d5a.gif

和你一起终身学习,这里是程序员Android

经典好文推荐,通过阅读本文,您将收获以下知识点:

一、Notification 简介
二、创建Notification 的方法
三、通知的管理
四、简单的通知实现
五、可扩展通知实现
六、通知中含下载进度条
七、通知中含媒体播放控件
八、自定义通知内容

一、Notification 简介

Notification 通知是应用向用户显示的消息提示,当发送通知时,通知将先以图标的形式显示在通知区域中。用户可以打开下拉通知栏查看通知的详细信息。通知区域和下拉通知栏均是由系统控制的区域,用户可以随时查看。

通知在Android用户界面的一个重要部分,其使用方法请看以下内容:

04e0117fdb2046abff27bffbb49c0cf3.jpeg

通知区域中的通知

cce951ae0cd8daae7d249fa9e7c14a02.jpeg

下拉通知栏中的通知

二、创建Notification 的方法

  • 1.通知创建的方法

调用NotificationCompat.Builder.build() 创建Notification对象,然后调用 NotificationManager.notify() 将Notification对象传递给系统。

  • 2.Notification 对象必须包含以下内容:

    • 小图标,由setSmallIcon()设置

    • 标题,由 setContentTitle() 设置

    • 详细文本,由 setContentText()设置

  • 3.通知可选内容

通知默认优先级为 PRIORITY_DEFAULT 0
Notification.Builder.setPriority()
5个级别可选(-2、-1、0、1、2)

通知优先级如下:

PRIORITY_LOW=-1
    PRIORITY_MIN=-2
    PRIORITY_DEFAULT = 0
    PRIORITY_HIGH=1
    PRIORITY_MAX=2
  • 4.设置可以扩展样式

通过Notification.Builder.setStyle()可以设置通知的样式。

  • 5.点击通知启动Activity(PendingIntent)

通知中经常遇到,点击通知栏,打开 Activity

Notification.Builder mBuilder = new Notification.Builder(this);

        mBuilder.setSmallIcon(R.drawable.gril)
                .setDefaults(Notification.DEFAULT_SOUND).setColor(000)
                .setContentTitle("简单通知Tittle").setContentText("点击可以打开Activity");

        Intent resultIntent = new Intent(this, NotificationMethods.class);
        // 新开一个Activity 栈

        resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        stackBuilder.addParentStack(NotificationMethods.class);
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
                PendingIntent.FLAG_UPDATE_CURRENT);
        mBuilder.setContentIntent(resultPendingIntent);

        NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(0, mBuilder.build());

三、通知的管理

  • 1.更新通知

调用 NotificationManager.notify(ID) 发出带有通知ID的通知,ID相同,即可更新以前ID发送的通知。

  • 2.删除通知

创建时 调用了 setAutoCancel(true)
删除时候调用删除指定ID

NotificationManager.cancel(notificationId)

删除自己应用发的所有通知

Utils.mNotificationManager.cancelAll();
  • 3.在通知中显示进度条

setProgress()

四、简单的通知实现

  • 1.实现效果

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Android

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值