如何访问 Android (TV) 上的推送通知计数器?

Posted

技术标签:

【中文标题】如何访问 Android (TV) 上的推送通知计数器?【英文标题】:How to access the Push Notification counter on Android (TV)? 【发布时间】:2021-05-21 21:48:12 【问题描述】:

我想访问当前可用的推送通知的数量如下:,这里是 android TV 模拟器图像..

那么我如何读取这个数字?

编辑:我不想设置任何东西。

【问题讨论】:

【参考方案1】:

您可以使用NotificationListenerService 管理与通知相关的所有内容。您还可以扩展它并覆盖 onNotificationPosted 等方法来维护您自己的计数器。或者更好的是,直接使用getActiveNotifications()

在这里查看文档https://developer.android.com/reference/android/service/notification/NotificationListenerService#getActiveNotifications()

您需要授予您的应用访问通知的权限才能使其正常工作。

【讨论】:

哪个确切的权限? getActiveNotifications 在我的测试中始终为 0 请查看这个例子github.com/Chagall/notification-listener-service-example 安装应用程序后,确保通过进入应用程序的设置-> 权限实际授予权限 如果 getActiveNotifications 仍然不起作用,您可以尝试拦截通知并自己维护计数器。 在调用 getActiveNotifications 之前,请确保调用了 onListenerConnected。【参考方案2】:

您可以设置自定义通知计数。

默认情况下,每个通知都会增加一个显示在长按菜单上的数字(如图 1 所示),但您可以为您的应用覆盖此数字。

例如,如果您只使用一个通知来表示多条新消息,但您希望此处的计数表示新消息的总数,这可能会很有用。

要设置自定义号码,请在通知上致电setNumber() - 在下面

public NotificationCompat.Builder setNumber(int number)

设置此通知表示的项目数。在最新的平台上,这可能会显示为支持徽章的启动器的徽章计数。在Build.VERSION_CODES.O 之前,它可以显示在标题中。在Build.VERSION_CODES.N 之前,这显示在右侧的通知中。

请参考这篇文章 https://developer.android.com/training/notify-user/badges

【讨论】:

以上是关于如何访问 Android (TV) 上的推送通知计数器?的主要内容,如果未能解决你的问题,请参考以下文章

如何清除状态栏上的推送通知警报 - android

Linphone如何支持Android / iOS上的推送通知

如何访问 applicationDidBecomeActive 上的远程推送通知数据?

通知不会出现在 Android TV 上

如何在android中显示本地推送通知(在主屏幕上的应用程序图标上,如i-phone)

如何从不属于我的 Android 应用程序存储/访问推送通知中的文本?