我的应用程序启动器图标上需要一个徽章计数器。
我知道在应用程序中使用TextView获取徽章计数器的解决方案,但我需要一个解决方案,以便在启动器图标上获取应用程序外部的徽章计数器。
在iOS中,我们获得了徽章编号
UIApplication.sharedApplication().applicationIconBadgeNumber
我想知道为什么Android没有在每个开发人员需要的SDK中包含这样的东西。
尝试1:仅适用于sony mobiiles:
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支持:
ShortCutBadger没有被支持:
那么还有其他一些可以在所有制造商手机上使用的通用方法吗?
阅读了很多帖子并进行了大量搜索,但很多人都知道没有适用于所有发射器的通用解决方案。
但我觉得有一个解决方案,因为whatsapp和facebook应用程序在所有上述启动器中显示徽章编号。
答案 0 :(得分:8)
Android中没有这样的功能,因为徽章编号不是平台的一部分。 存在一些尝试实现此目的的库,例如https://github.com/leolin310148/ShortcutBadger,但您应该理解它不适用于每个制造商的设备。另据我所知,当徽章位于主屏幕上而不是应用程序抽屉中时,徽章仅显示在图标上。