创建一个NotificationManager
NotificationManager类是一个通知管理器类,这个对象是由系统维护的服务,是以单例模式的方式获得,所以一般并不直接实例化这个对象。在Activity中,可以使Activity.getSystemService(String)方法获取NotificationManager对象,Activity.getSystemService(String)方法可以通过Android系统级服务的句柄,返回对应的对象。在这里需要返回NotificationManager,所以直接传递Context.NOTIFICATION_SERVICE即可。
使用Builder构造器来创建Notification对象
使用NotificationCompat类的Builder构造器来创建Notification对象,可以保证程序在所有的版本上都能正常工作。Android8.0新增了通知渠道这个概念,如果没有设置,则通知无法在Android8.o的机上显示。
NotificationChannel
通知渠道:Android 8.0引入了通知渠道,其允许您为要显示的每种通知类型创建用户可自定
义的渠道。
通知重要程度设置,NotificationManager类中
lMPORTANCE_NONE关闭通知
IMPORTANCE MIN开启通知,不会弹出,但没有提示音,状态栏中无显示
IMPORTANCE_LOW开启通知,不会弹出,不发出提示音,状态栏中显示
IMPORTANCE_DEFAULT开启通知,不会弹出,发出提示音,状态栏中显示
IMPORTANCE _HIGH 开启通知,会弹出,发出提示音,状态栏中显示
方法说明
1. setContentTitle(String string)设置标题
2. setContentText(String string)设置文本内容
3. setSmallcon(int icon) 设置小图标
4. setLargelcon(Bitmap icon) 设置通知的大图标
5. setColor(int argb) 设置小图标的颜色
6.setContentintent(PendingIntent intent)设置点击通知后的跳转意图
7. setAutoCancel(boolean boolean) 设置点击通知后自动清除通知
8. setWhen(long when)设置通知被创建的时间
Android从5.0系统开始,对于通知栏图标的设计进行了修改。现在Google要求,所有应用程序的通知栏图标,应该只使用alpha图层来进行绘制,而不应该包括RGB图层。