Android 使用通知
2020-07-27 本文已影响0人
bigshizi
Android 8.0 引入了通知渠道的概念
可以为每条通知创建一个对应的渠道,达到对通知分类的目的。用户可以在手机上选择打开或关闭某个渠道来达到只获取感兴趣通知的目的。避免8.0之前关闭通知,所有通知均不可收到。
通知渠道一旦创建就不可修改,开发者需要仔细分析自己的通知类型,再去创建相应的通道。
1、首先需要一个NotificationManager 对通知进行管理 通过调用Context的 getSystemService(Content.Notification_Service)获取
2、创建渠道
使用NotificationChannel创建通知渠道
3.创建通知 通过Notification.Builder创建通知对象
4.使用 manager.notify()发送通知 接受两个参数 第一个是id 要保证每个通知id不一样 第二个参数就是 步骤3我们建立的 Notification.Builder对象
//1
val manager= getSystemService(Content.Notification_Service)
//2
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannle(id,name,通知等级)
manager.creatNotificationChannel(channel)
}
//3
val notification = Notification.Builder(context,渠道id)
.setContentTitle("自定义消息通知")
.setContentText("自定义消息内容")
.setSmallIcon(R.mipmap.ic_launcher_round)
.setAutoCancel(true)
.setContentIntent(PendingIntent.getActivity(this,0, Intent(this,MainActivity::class.java),0))
.setLargeIcon(BitmapFactory.decodeResource(resources,R.mipmap.ic_launcher_round))
.build()
//4
manager.notify(id,notification)