override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //获取系统通知服务 val manager=getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager //判断当前的android系统的版本号是否大于等于8.0(8.0才有通知渠道的概念) if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){ //创建一个通知通道 //参数1:保证全局唯一 //参数2:显示给用户,表明该通道的作用 //参数3:通知的重要等级。 val channel=NotificationChannel("normal","Normal",NotificationManager.IMPORTANCE_DEFAULT) manager.createNotificationChannel(channel) } btnNotification.setOnClickListener(){ val notification =NotificationCompat.Builder(this,"normal") .setContentTitle("通知标题") .setContentText("通知文本") //系统栏小图标-只能使用alpha图层 .setSmallIcon(R.drawable.ic_stat_name).build() // manager.notify(1,notification) } }
点击进入
PendingIntent延迟意图
btnNotification.setOnClickListener(){ val intent=Intent(this,MainActivity::class.java) val pi=PendingIntent.getActivity(this,0,intent,0) val notification =NotificationCompat.Builder(this,"normal") .setContentTitle("通知标题") .setContentText("通知文本") .setSmallIcon(R.drawable.ic_stat_name) //点击通知跳转进去 .setContentIntent(pi) //取消图标 .setAutoCancel(true) .build() // manager.notify(1,notification) }
在下拉消息中显示长文本
.setStyle(NotificationCompat.BigTextStyle().bigText(""))
在下拉消息中显示图片
.setStyle(NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(resources,R.drawable.ic_launcher_background)))