Notification —— 通知,是一种让你的应用程序在不使用Activity的情况下警示用户。它是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity) 警示用户有需要注意的事件发生的最好途径。 Notification 是由NotificationManager(系统服务)统一管理的。
一般来说, 一个Notification应该传送的消息包括:
1 、一个状态条图标
2、在拉伸的状态栏窗口中显示额外的信息和启动一个Application的Intent
3、闪灯或LED
4、电话震动
在状态栏(Status Bar)中,通知主要有两类(使用FLAG_标记,后面讲解到):
1、正在运行的事件
2、通知事件
Notification类介绍:
常量 :
//表示发送一个Notification的所携带的效果
DEFAULT_ALL 使用默认字段
DEFAULT_LIGHTS 默认闪光
DEFAULT_SOUND 默认声音(uri,指向路径)
DEFAULT_VIRATE 默认震动
PS:以上的效果常量可以累加,即通过mNotifaction.defaults |=DEFAULT_SOUND (有些效果只能在真机上才有,比如震动)
//设置Flag位
FLAG_AUTO_CANCEL 该通知能被状态栏的清除按钮给清除掉
FLAG_NO_CLEAR 该通知能被状态栏的清除按钮给清除掉
FLAG_ONGOING_EVENT 通知放置在正在运行
常用字段:
contentIntent 设置PendingIntent对象,点击时发送该Intent
flags 设置flag位,例如FLAG_NO_CLEAR等
defaults 添加效果
tickerText 显示在状态栏中的文字
when 发送此通知的时间戳
icon 设置图标
常用方法介绍 :
void setLatestEventInfo(Context context , CharSequence contentTitle,CharSequence contentText,PendingIntent contentIntent)
功能: 显示在拉伸状态栏中的Notification属性,点击后将发送PendingIntent对象
参数: context 上下文环境
contentTitle 状态栏中的大标题
contentText 状态栏中的小标题
contentIntent 点击后将发送PendingIntent对象
另外的就是Notification的几步不同构造方法了,其构造方法的参数含义如上,请参考SDK 。
注意:当我们创造了一个Notification对象时,一定要为其设置setLatestEventInfo()方法,否则程序会报错 .
前面我们说过,NotificationManager是所有Notification的大管家,它的主要职责是加入/移除Notification。
NotificationManager类
通过获取系统服务来获取该对象:
NotificationManager mNotificationManager = (NotificationManager)getSystemServic(Context.NOTIFICATION_SERVICE) ;
常用方法:
public void cancelAll() 移除所有通知 (只是针对当前Context下的Notification)
public void cancel (int id) 移除标记为id的通知 (只是针对当前Context下的所有Notification)
public void notify(String tag ,int id, Notification notification) 将通知加入状态栏, 标签为tag,标记为id
public void notify (int id, Notification notification) 将通知加入状态栏,,标记为id
本文详细介绍了Android中的通知机制,包括Notification的基本概念、组成部分及其创建方式。同时,文章还阐述了NotificationManager的作用及如何通过它来管理和操作通知。
1070

被折叠的 条评论
为什么被折叠?



