Kotlin implements Notification

class NotificationTest:AppCompatActivity() {
    
    
    override fun onCreate(savedInstanceState: Bundle?) {
    
    
        super.onCreate(savedInstanceState)
        setContentView(R.layout.notification_test_layout)
        //点击按钮就进行通知的发送
        val manager=getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
        //在创建channel的时候需要提前进行版本的确定
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    
    
            val channel=NotificationChannel("first","First",NotificationManager.IMPORTANCE_DEFAULT)
            manager.createNotificationChannel(channel)
        }
        send_Notification.setOnClickListener(){
    
    
            //想要实现点击通知之后,就调转到其他的界面上的功能
            val intent= Intent(this,MainActivity::class.java)
            val pendingIntent=PendingIntent.getActivity(this,0,intent,0)
            val notification=NotificationCompat.Builder(this,"first")
                .setContentTitle("这是通知的标题")
                .setContentText("这里通知的内容,点击跳转会主页")
                .setSmallIcon(R.drawable.ic_baseline_arrow_back_ios_24)
                .setLargeIcon(BitmapFactory.decodeResource(resources,R.drawable.ic_baseline_arrow_back_ios_24))
                .setContentIntent(pendingIntent)//实现了点击调转的功能
                .setAutoCancel(true)//点击通知之后通知就消失,第二中方法是在跳转的界面中先获取到manager,然后调用manager.cancel(1),这个1就是下面这个通知的唯一标识
                .setStyle(NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(resources,R.mipmap.yueyue)))
                .build()
            manager.notify(1,notification)
        }
    }
}

Guess you like

Origin blog.csdn.net/m0_56184347/article/details/129624877