曾无好事来相访,赖尔高文一起予。这篇文章主要讲述所有移动设备制造商的启动器图标上的Android徽章编号相关的知识,希望能为你提供帮助。
我的应用程序启动器图标上需要一个徽章计数器。
我知道使用TextView在应用程序内部获取Badge计数器的解决方案,但我需要一个解决方案,以便在启动器图标上获取应用程序外部的徽章计数器。
在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默认发射器。
【所有移动设备制造商的启动器图标上的Android徽章编号】经过几次研究,我才知道,徽章编号取决于发射器制造商,如下所示:
ShortCutBadger支持:
- 三星:“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 Launcher:“com.gau.go.launcherex”
阅读了这么多帖子并进行了大量搜索,但很多人都知道没有适用于所有发射器的通用解决方案。 但我觉得有一个解决方案,因为whatsapp和facebook应用程序在所有上述启动器中显示徽章编号。
答案Android中没有此功能,因为徽章编号不是平台的一部分。有一些库试图实现这一点,例如https://github.com/leolin310148/ShortcutBadger,但你应该明白它并不适用于每个制造商的设备。另据我所知,当徽标位于主屏幕而不是应用程序抽屉中时,徽章仅显示在图标上。
推荐阅读
- Xamarin Android - 自定义通知托盘图标(状态栏)
- android firebase通知不起作用
- Onesignal通知显示在OneSignal仪表板上,但未在通知栏中显示(android)
- Android - 构建通知,TaskStackBuilder.addParentStack不能正常工作
- 三星Android 7中未显示通知图标
- 如何在Android中堆叠推送通知()
- 如何在计算机中训练神经网络或随机森林算法并在以后的Android设备中进行测试()
- 如何获取IMEI编号|离子| Android
- Android(放置在父视图外部时,缩放EditText Android中的问题以及childView的get Touch事件)