Android—关于通知NotificationManager操作
生活随笔
收集整理的這篇文章主要介紹了
Android—关于通知NotificationManager操作
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Android8.0引入NotificationChannel,每條通知都有對(duì)應(yīng)的渠道,渠道創(chuàng)建后不可更改
1.要用到通知功能必不可少就是獲取一個(gè)NotificationManager對(duì)象
val manager= getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager2.創(chuàng)建自己所需要的渠道
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){al channel1 = NotificationChannel("channel1","通知測(cè)試1",NotificationManager.IMPORTANCE_MIN)val channel2 = NotificationChannel("channel2","通知測(cè)試2",NotificationManager.IMPORTANCE_LOW)val channel3 = NotificationChannel("channel3","通知測(cè)試3",NotificationManager.IMPORTANCE_DEFAULT)val channel4 = NotificationChannel("channel4","通知測(cè)試4",NotificationManager.IMPORTANCE_HIGH)manager.apply {createNotificationChannel(channel1)createNotificationChannel(channel2)createNotificationChannel(channel3)createNotificationChannel(channel4)} }創(chuàng)建4個(gè)渠道,對(duì)應(yīng)通知4中重要程度
3.創(chuàng)建PendingIntent對(duì)象,點(diǎn)擊通知打開(kāi)你所要顯示的界面
val intent = Intent(this,First::class.java) val pi = PendingIntent.getActivity(this,0,intent,0)4.創(chuàng)建通知
btn1.setOnClickListener {val notification1 = NotificationCompat.Builder(this,"channel1").setContentTitle("測(cè)試通知1").setContentText("通知1來(lái)了,通知1來(lái)了,通知1來(lái)了").setSmallIcon(R.drawable.touxiang).setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.b)).build()manager.notify(1,notification1)}btn2.setOnClickListener {val notification2 = NotificationCompat.Builder(this,"channel2").setContentTitle("測(cè)試通知2").setContentText("通知2來(lái)了,通知2來(lái)了,通知2來(lái)了").setSmallIcon(R.drawable.c).setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.huangqiong)).build()manager.notify(2,notification2)}btn3.setOnClickListener {val notification3 = NotificationCompat.Builder(this,"channel3").setContentTitle("測(cè)試通知3").setContentText("通知3來(lái)了,通知3來(lái)了,通知3來(lái)了").setSmallIcon(R.drawable.leimu).setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.linlin)).build()manager.notify(3,notification3)}btn4.setOnClickListener {val notification4 = NotificationCompat.Builder(this,"channel4").setContentTitle("測(cè)試通知4").setContentText("通知4來(lái)了,通知4來(lái)了,通知4來(lái)了").setSmallIcon(R.drawable.liuyuan).setStyle(NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.yating))).setContentIntent(pi).setAutoCancel(true).build()manager.notify(4,notification4)}我這里創(chuàng)建4個(gè)按鈕事件分別對(duì)應(yīng)4個(gè)通知,4個(gè)通知對(duì)應(yīng)不同的4個(gè)渠道。
可以看到通知4在最前面。且通知3、4來(lái)的時(shí)候手機(jī)會(huì)有提示音,通知4相比3會(huì)彈出通知窗口
總結(jié)
以上是生活随笔為你收集整理的Android—关于通知NotificationManager操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: FreeBSD 8.3 发布
- 下一篇: android sina oauth2.