通知

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)))
原文地址:https://www.cnblogs.com/buchizaodian/p/12758906.html