android 常驻,Android常驻通知栏
在各类音乐APP中,都有着常驻通知栏这个东西,它的优点自然不言而喻,在应用处于后台时也可以执行相关操作,而且因为是常驻的所以根本不用担心不小心被自己清除了而想要创建可使用的常驻通知栏,离不开RemoteViews,通过RemoteViews获取相关布局,然后将布局放入通知栏代码如下normalView=RemoteViews(activity?.packageName,R.layout.no...
在各类音乐APP中,都有着常驻通知栏这个东西,它的优点自然不言而喻,在应用处于后台时也可以执行相关操作,而且因为是常驻的所以根本不用担心不小心被自己清除了
而想要创建可使用的常驻通知栏,离不开RemoteViews,通过RemoteViews获取相关布局,然后将布局放入通知栏
代码如下
normalView = RemoteViews(activity?.packageName, R.layout.normal_notification)
val manager: NotificationManager =
activity?.getSystemService(AppCompatActivity.NOTIFICATION_SERVICE) as NotificationManager
val channel = manager.getNotificationChannel("chat")//获取通知渠道设置
mnoficcation = mContext?.let {
NotificationCompat.Builder(it, "chat")//通知渠道id
.setSmallIcon(R.mipmap.ic_launcher)//通知的图标
.setTicker("")//通知名字
.setContentIntent(pendingIntent) //通知被点击后跳转的pendingIntent
.setContent(normalView) //设置普通notification视图
.setPriority(Notification.PRIORITY_MAX) //设置最大优先级
.build()
}
manager.notify(No, mnoficcation)
到这一步一个基础的通知栏便创建完毕,或许有人会发现,这样的通知栏还是会被清除,那到底怎么才能做成常驻的通知栏呢?
这就要用到一个关键的代码
.setOngoing(true)
有了这个以后通知便常驻在通知栏,同时还有一个地方,就是常驻通知栏,长按会显示出一个放大的remoteview,这个代码是
.setCustomBigContentView(bigView) //设置显示bigView的notification视图
更多推荐
所有评论(0)