Android官方开发文档Training系列课程中文版:通知用户之更新或移除通知

简介: 原文地址:http://android.xsoftlab.net/training/notify-user/managing.html#Removing当需要在不同时段发布同一事件类型的通知时,应当避免创建新的通知。

原文地址:http://android.xsoftlab.net/training/notify-user/managing.html#Removing

当需要在不同时段发布同一事件类型的通知时,应当避免创建新的通知。相反的,应当考虑更新原有的通知,比如更改通知的某些值或者添加一些信息给通知。

下面的部分描述了如何更新通知以及如何移除通知。

修改通知

为了设置通知是可以更新的,需要在发布通知时由NotificationManager.notify(ID, notification)方法指定该通知的ID。为了更新这条通知,需要更新或者创建一个NotificationCompat.Builder对象,并由这个对象构建一个Notification对象,然后将这个通知对象以相同的ID发布出去。

下面的代码段演示了在事件发生时,一条通知将会被用来更新该事件的数目:

mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this)
    .setContentTitle("New Message")
    .setContentText("You've received new messages.")
    .setSmallIcon(R.drawable.ic_notify_status)
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
    mNotifyBuilder.setContentText(currentText)
        .setNumber(++numMessages);
    // Because the ID remains unchanged, the existing notification is
    // updated.
    mNotificationManager.notify(
            notifyID,
            mNotifyBuilder.build());
...

移除通知

在以下事件发生时,通知将会从通知栏中移除:

  • 用户移除了该通知或者使用了”Clear All”功能(如果通知是可移除的话)。
  • 用户点击了通知,这条通知在创建时使用了setAutoCancel(false)方法(false是默认属性)。
  • 通过调用cancel()方法并指定该通知的ID。这个方法还可以移除进行中的通知。
  • 通过调用cancelAll()方法,将已经发布的所有通知移除。
目录
相关文章
|
20天前
|
Android开发 芯片
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
26 3
|
Android开发
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
823 0
【错误记录】Android Studio 编译报错 ( Error:Connection timed out: connect | 更新配置依赖仓库方式 )
|
Android开发
Android在子线程中更新UI的方法汇总(共七种)
Android在子线程中更新UI的方法汇总(共七种)
|
JavaScript API Android开发
Android,iOS打开手机QQ与指定用户聊天界面
Android,iOS打开手机QQ与指定用户聊天界面
179 0
|
API Android开发 开发者
Android 12 实用更新:置灰的控件也可以点击啦
Android 12 实用更新:置灰的控件也可以点击啦
Android 12 实用更新:置灰的控件也可以点击啦
|
Android开发
解决Android Studio更新最新北极狐版本后出现的中文乱码问题
今天好多同学都更新了最新版北极狐,然后发现有些同学出现了中文乱码问题,这个问题其实已经是老问题了,在之前的Canary中就存在了。
137 0
解决Android Studio更新最新北极狐版本后出现的中文乱码问题
|
XML 传感器 Java
Android 天气APP(三十六)运行到本地AS、更新项目版本依赖、去掉ButterKnife
最近发现这个项目好似迎来了第二春,GitHub上的Start和Fork增加的很快,我的猜测是学生在通过这个项目来学习和完成自己的作业。随着Android版本的更新,Android Studio的更新,项目中一些内容不能在新版本中很好的使用,甚至出现编译不了的情况,这对我来说没啥,但是对于拿到项目满心欢喜的学生来说,运行不了,无疑是致命的,而我写在项目Readme下面我将演示一下怎么在本地运行这个项目的代码。
328 1
Android 天气APP(三十六)运行到本地AS、更新项目版本依赖、去掉ButterKnife
|
XML 前端开发 定位技术
Android MVVM框架使用(十三)UI更新 (App启动白屏优化、适配Android10.0深色模式)
Android MVVM框架使用(十三)UI更新 (App启动白屏优化、适配Android10.0深色模式)
357 0
Android MVVM框架使用(十三)UI更新 (App启动白屏优化、适配Android10.0深色模式)
|
存储 XML 缓存
Android 更换用户头像(拍照、相册选取)
Android 更换用户头像(拍照、相册选取)
446 1
Android 更换用户头像(拍照、相册选取)
|
Android开发
Android Studio 更新版本之后报错: Cannot access android.arch.lifecycle.ViewModelStoreOwner
Android Studio 更新版本之后报错: Cannot access android.arch.lifecycle.ViewModelStoreOwner
155 0