概述
本文主要想说一下android项目开发中经常会使用到通知机制中的通知栏框架(Notificaiton)。通知栏位于设备的顶层,可以展开的通知列表。通知栏的主要作用大概可以分为三大块:
- 显示未读的消息(短信消息、QQ、微信等消息)
- 显示客户端的PushMessage(推送消息),如系统更新、新闻、广告推送
- 显示正在进行的后台程序,如各类型的音乐播放器等。
关键类介绍
- NotificationManager
主要负责通知的管理(通知的发送、通知的删除、通知的清空等操作),同时也含有对通知的类型、规则判断等。经常使用的内部方法主要有以下几个:
/***
* NotificationManager类的实例化
* @param context
* @return
*/
public static NotificationManager from(Context context) {
return (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
}
/**
* 通知的发布
* @param id
* @param notification
*/
public void notify(int id, Notification notification) {
notify(null, id, notification);
}
/**
* 通知的发布 (含标签)
* @param tag
* @param id
* @param notification
*/
public void notify(String tag, int id, Notification notification) {
notifyAsUser(tag, id, notification, new UserHandle(UserHandle.myUserId()));
}
/**
* 之前发布通知的取消
* @param id
*/
public void cancel(int id) {
cancel(null, id);
}
/**
* 之前发布通知的取消 (含标签)
* @param tag
* @param id
*/
public void cancel(String tag, int id)