第一部分:Notification简介
Notification俗称通知,是指在应用程序之外显示的消息。其作用是以一种醒目的方式提醒用户,以下图1就是android方面简单的通知。通知也和android的版本一样越来越丰富,例如圆点通知,锁屏通知,设置通知背景及自动超时等 。目前通知(Android8.0以后)必须要有系统分配的一个或者多个通道

第二部分:Notification实现
Android系统提供了Notification类实现通知的功能,官方推荐使用Notification的内部构造器Builder创建Notification对象,Notification类封装了通知的标题,内容,时间,小标题等信息
创建Notification的基本步骤如下:
1.使用getSystemService()获取NotificationManager管理
2.使用Notification类创建通知对象,设置标题,内容,图片等样式。
3.调用NotificationManager的notify()调用通知栏,显示通知
4.android8.0及以上版本,需要创建通知通知进行管理
Notification类常用的方法及说明表如图2

通知样式
1.基本的通知样式
以下就是android8.0以上设置信道的方法如图3,图4:


下面就是如何设置通知图5

2.高优先级的悬浮通知
需要引起用户的注意的通知,需要用户点击才可以消失。
android8.0以上的高优先的悬浮通知 ,需要在设置通知信道时候把importance修改为IMPORTANCE_HIGH实现,还需要通过调用setFullScreenIntent(PendingIntent)实现
android8.0以下通过设置setPriority(NotificationCompat.PRIORITY_HIGH)进行设置就行
以下就是图6就是基本代码,图7就是样式图



3.展开式通知
展开式通知是通过下滑手势将通知展开,android8.0提供了多种可以展开方式,通过setStyle()进行设置
大文本:
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))//msg:是文本
大图片:
.setStyle(new NotificationCompat.BigPictureStyle().bigLargeIcon(bitmap).bigPicture(bitmap))
//bitmap:是android图片的一种格式
4.自定义布局通知
如果系统通过的通知模板不能满足要求,android还提供了自定义布局的通知,将自定义布局扩充为RemoteViews的实例,在构建通知时调用setCustomContentView()设置自定义布局,代码如下

