Android 所有移动制造商的启动器图标上的徽章编号

Android Badge number on launcher icon for all mobile manufacturer

我的应用程序启动器图标上需要一个徽章计数器。

我知道使用 TextView 在应用程序内部获取徽章计数器的解决方案,但我需要一个解决方案来在启动器图标上获取应用程序外部的徽章计数器。


在 iOS 中,我们得到徽章数量

UIApplication.sharedApplication().applicationIconBadgeNumber

我想知道为什么 Android 没有在他们的 SDK 中包含每个开发人员都需要的任何东西。


尝试 1:仅适用于索尼手机:

    Intent badgeIntent = new Intent();
    badgeIntent.setAction("com.sonyericsson.home.action.UPDATE_BADGE");
    badgeIntent.putExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME", this.getPackageName());
    badgeIntent.putExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME", this.getClass().getName());
    badgeIntent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", ShwMsgBulVar);
    badgeIntent.putExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE", "10");

     context.sendBroadcast(badgeIntent);

尝试 2: 我试过图书馆: https://github.com/leolin310148/ShortcutBadger

它只适用于少数制造商,并不适用于所有 android 手机。

ShortCutBadger 不适用于 OPPO、VIVO、Xiomi、Reliance LYF 默认启动器。

经过几次研究,我了解到徽章编号取决于发射器制造商,如下所示:

ShortCutBadger Suported :

ShortCutBadger not Suported :


那么有没有其他通用的方法可以适用于所有制造商的手机?

阅读了很多帖子并进行了大量搜索,但许多人表示没有适用于所有启动器的通用解决方案。
但我觉得有一个解决方案,因为 whatsapp 和 facebook 应用程序在上述所有启动器中显示徽章编号。

Android 中没有这样的功能,因为徽章编号不是平台的一部分。 有一些库试图实现这一点,例如 https://github.com/leolin310148/ShortcutBadger,但您应该明白它并不适用于每个制造商的设备。另外据我所知,只有在主屏幕上而不是在应用程序抽屉中时,徽章才会出现在图标上。