Android文档笔记:通知(二)
来源:互联网 发布:服务器端口开启 编辑:程序博客网 时间:2024/06/09 17:31
管理通知
- 复用:
当你需要为同一类型的时间多次发送通知的时候,切忌每次都创建新的实例。繁殖,应当考虑对先前使用的通知实例进行更新,添加或修改一些设定值。
- Gmail:
当新邮件到来,Gmail会在通知中递增邮件数量并显示每封邮件的摘要。这称为“堆积”通知。参见通知设计向导。
更新通知
- 已经发起的通知拥有一个ID
-更新或者创建一个NotificationCompat.Builder,然后构建一个Notification对象,用同样的ID发送之。此时,如果对应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());
...
- 它的效果如图:
移除通知
通知保持可见,直到下列事件之一发生:
- 用户清除了通知:逐条删除或者通过“清除全部”命令
- 用户点击了通知,并且在创建通知之初调用了setAutoCancel()方法
- 你对指定的ID调用了cancel()方法。此方法同样会删除进行中的通知。
- 你调用了cancelAll()方法。这将移除你之前发出的所有通知
------------------------------------------------------------------------------------
启动活动时保存导航
- 当你从一个通知启动活动时,你必须保留用户所希望的导航体验:
> 按回退键应当通过应用正常的工作流将用户带回到Home屏。
> 点击“最近使用”则会将刚才启动的活动显示为一个单独的任务。
- 要做到这一点,应当从一个全新的任务来启动活动
- 如何配置PendingIntent来得到一个全新的任务?这取决于你的活动的性质:
常规活动:
-这指的是,你启动的活动是应用程序正常工作流的一部分。此时,创建一个PendingIntent来开始新的任务,同时要提供给它一个backstack以重现在应用程序中正常的回退行为。
-如在Gmail应用中,如果通过通知栏打开单封邮件,系统会首先进入Gmail,显示邮件列表再打开对应的邮件。用户回退时也要路过这些打开的活动。
- 这与你当前是否恰好在那个应用之中没有关系。例如,你正在Gmail中书写一封邮件,此事通过通知栏点开一封邮件,所经历的回退顺序仍然是打开的邮件->收件箱->Home屏,而不会回退到之前的书写屏。我认为,原因在于,书写和后来打开邮件这两个操作并不在同一个任务中。
特殊活动
- Android文档笔记:通知(二)
- Android文档笔记:通知(二)
- Android文档笔记:通知(一)
- Android文档笔记:通知(一)
- Android文档笔记:通知(三) - 启…
- Android文档笔记:通知(四)&nbsp…
- Android文档笔记:通知(四) - 在通知中显示进度
- Android开发者文档笔记(二)
- Android笔记(二十八)通知的使用
- [翻译]Android官方文档 - 通知(Notifications)
- Android文档笔记:通知(三) - 启动活动时保存导航
- Android文档笔记:服务(二)-创建…
- Android 用户界面---状态栏通知(二)
- Android 用户界面---状态栏通知(二)
- android之通知(二)高级用法
- Android笔记(100)通知流程
- Android 笔记 通知/notifications
- android通知栏通知的开发笔记
- Java多线程编程,模拟售票
- Android文档笔记:服务(三)-创建…
- 1.5 类的简介
- Android文档笔记:服务(四)- 通…
- Android文档笔记:通知(一)
- Android文档笔记:通知(二)
- Android进程与线程(二):线程
- Android进程与线程(三):跨进程…
- Android文档笔记:通知(三) - 启…
- Android文档笔记:通知(四)&nbsp…
- Android绑定服务(一):基础知识
- POJ 2411 记录状态的dp
- Android绑定服务(二):创建绑定…
- Android用户界面(一):概览