所有移动制造商的启动器图标上的 Android 徽章编号
Posted
技术标签:
【中文标题】所有移动制造商的启动器图标上的 Android 徽章编号【英文标题】:Android Badge number on launcher icon for all mobile manufacturer 【发布时间】:2018-04-25 07:13:58 【问题描述】:我的应用程序启动器图标上需要一个徽章计数器。
我知道使用 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
它只适用于少数制造商,并不适用于所有安卓手机。
ShortCutBadger 不适用于 OPPO、VIVO、小米、Reliance LYF 默认启动器。
经过一番研究,我了解到,徽章编号取决于发射器制造商,如下所示:
三星:“com.sec.android.app.launcher” 索尼:“com.sonyericsson.home” HTC:“com.htc.launcher” 华硕:“com.asus.launcher”支持 ShortCutBadger:
OPPO :"com.oppo.launcher" 小米:“com.miui.home” 体内:“com.bbk.launcher2” Lyf:“com.android.launcher3” Go 启动器:“com.gau.go.launcherex”不支持 ShortCutBadger:
那么还有其他通用方法可以在所有制造商的手机上运行吗?
阅读了很多帖子并进行了大量搜索,但很多人告诉我们没有适用于所有启动器的通用解决方案。 但我觉得有一个解决方案,因为 whatsapp 和 facebook 应用程序会在上述所有启动器中显示徽章编号。
【问题讨论】:
dzone.com/articles/how-to-create-badges-item-counts-in-android你能用这个链接吗 您的文章解释了在应用程序中获取徽章计数器。但我想在应用程序外部。 我不知道他们为什么不赞成这个并作为离题关闭,但我非常 100% 确定这对于面临同样问题的开发人员来说非常重要。我可以对那些将其视为无用帖子的人说,那么如果您遇到同样的问题,请不要寻找这篇内容丰富的帖子。并感谢@SujayUN 精彩的解释,我终于明白通知徽章的作用以及为什么它不适用于某些手机。 只是想指出我的困惑,我仍然在您发布的那些不受支持的启动器中看到 facebook 和什么应用通知徽章。 【参考方案1】:Android 中没有这样的功能,因为徽章编号不是平台的一部分。 存在一些试图实现此目的的库,例如 https://github.com/leolin310148/ShortcutBadger,但您应该了解它不适用于每个制造商的设备。此外,据我了解,徽章仅在图标位于主屏幕上时出现在图标上,而不是在应用程序抽屉中。
【讨论】:
是的,确实如此,但与 facebook 和 whatsapp 不同,他们目前显示通知徽章,他们是如何做到的? 我在少数设备上检查过,即使 Whatsapp 也无法在所有设备上显示徽章。以上是关于所有移动制造商的启动器图标上的 Android 徽章编号的主要内容,如果未能解决你的问题,请参考以下文章
Nougat、Oreo 和 Pie 上的空白/黑色应用程序启动器图标
Honor View 10手机上的android自适应启动器图标太大