Android 应用程序图标中的通知计数徽章

Posted

技术标签:

【中文标题】Android 应用程序图标中的通知计数徽章【英文标题】:Notification Count Badge in Android App Icon 【发布时间】:2017-07-12 17:30:51 【问题描述】:

我正在开发 android 应用程序,我正在使用 Firebase 云消息传递服务向用户发送通知。为了让用户更加了解通知,我想在应用程序的启动器图标上显示通知的数量。 有什么办法吗? 我不想创建小部件。 我试过库 ShortcutBadger Link for the Library

但是这个库的问题是当应用程序处于后台或被杀死时它不起作用?

我在我的应用程序的 BroadcastReceiver 中使用了计数更新方法

有人可以建议如何使用它或更好的方法吗?

【问题讨论】:

【参考方案1】:

如果您有自己的 FirebaseMessagingService,您可以在 onCreate 中设置您的徽章计数。

public class MyFirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService 
@Override
public void onCreate() 
    super.onCreate();
    ShortcutBadger.applyCount(MyFirebaseMessagingService.this, 1);
 

onCreate 将在通知到达时触发。 希望对你有帮助。

【讨论】:

【参考方案2】:

Android O 引入通知徽章:

https://developer.android.com/preview/features/notification-badges.html

它们通过长按图标来显示通知的数量。不过,在 O 被广泛采用之前还需要一段时间。

【讨论】:

【参考方案3】:

所以,为了在收到通知时不管应用程序的状态如何在应用程序中采取一些行动,那么我们需要发送通知的数据类型。 onMessageReceived()FireabaseMessagingService 方法总是被触发,无论应用程序状态是向用户发送通知的数据类型,否则如果通知对象还包含通知字段,则系统托盘本身会处理设备和应用程序中的通知填充没有任何踪迹。

【讨论】:

以上是关于Android 应用程序图标中的通知计数徽章的主要内容,如果未能解决你的问题,请参考以下文章

如何在后台的android应用程序图标上计算推送通知消息徽章

通过推送通知处理我的应用程序徽章计数的最佳方式是啥?

如何在 android 和 ios 收到的推送通知上设置徽章?

收到通知时如何控制应用图标徽章的计数? [复制]

像 Google 一样的操作栏通知计数图标(徽章)

如何在我的 Android 应用程序中的启动器图标上显示徽章计数?