和你一起终身学习,这里是程序员Android
经典好文推荐,通过阅读本文,您将收获以下知识点:
一、Notification 简介
二、创建Notification 的方法
三、通知的管理
四、简单的通知实现
五、可扩展通知实现
六、通知中含下载进度条
七、通知中含媒体播放控件
八、自定义通知内容
一、Notification 简介
Notification
通知是应用向用户显示的消息提示,当发送通知时,通知将先以图标的形式显示在通知区域中。用户可以打开下拉通知栏查看通知的详细信息。通知区域和下拉通知栏均是由系统控制的区域,用户可以随时查看。
通知在Android
用户界面的一个重要部分,其使用方法请看以下内容:
通知区域中的通知
下拉通知栏中的通知
二、创建Notification 的方法
1.通知创建的方法
调用NotificationCompat.Builder.build()
创建Notification
对象,然后调用 NotificationManager.notify()
将Notification
对象传递给系统。
2.Notification 对象必须包含以下内容:
小图标,由
setSmallIcon()
设置标题,由
setContentTitle()
设置详细文本,由
setContentText()
设置
3.通知可选内容
通知默认优先级为 PRIORITY_DEFAULT
0Notification.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.实现效果