ITPub博客

首页 > 移动开发 > ANDROID > Android常驻通知栏

Android常驻通知栏

原创 ANDROID 作者:山有木xi 时间:2020-12-20 16:12:48 0 删除 编辑

在各类音乐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视图


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917874/viewspace-2743777/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Android截图监听
请登录后发表评论 登录
全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    147
  • 访问量
    390778