java - Android 启动器中的通知徽章是如何实现的?我可以在我的应用程序中执行此操作吗?

标签 java android android-launcher

据我了解,Android 中没有办法动态更改应用程序图标。 SO中有很多关于它的帖子。尽管如此,在我的普通 Android Nexus 4 上,我安装了 Go 启动器,它可以在应用程序图标上方设置徽章。 Nova Launcher 也可以:https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher

我感兴趣的是如何在 Android 中实现这一点?一些黑客?私有(private)API?

最佳答案

安装过这些应用程序的人都知道,这些是替代主屏幕。主屏幕可以做主屏幕想做的任何事情:

  • 如果这些主屏幕想要使用自己的代码(例如 Gmail)在知名应用的图标上显示徽章,他们可以这样做

  • 如果这些主屏幕想要公开一些 API,应用程序开发人员可以使用这些 API 为其应用程序启用徽章,他们可以这样做

例如,Nova Launcher 就是前者,正如读过the Play Store listing 的人一样。可以告诉:

Unread count badges for SMS, Missed calls, Gmail, Email, Google Voice and more. Counts show in the dock, desktop, drawer and folders.

除此之外,据我所知,应用程序尝试影响其启动器图标的唯一方法是更改​​已启用的 LAUNCHER 组件,禁用旧组件并启用具有不同图标的另一个组件。不过,这将是不可靠的,因为并非所有主屏幕都必须动态更改图标,也许直到设备重新启动后才会这样做。

关于java - Android 启动器中的通知徽章是如何实现的?我可以在我的应用程序中执行此操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18522142/

相关文章:

java - boolean 递归中的 "unreachable statement"

java - 有什么方法可以提高 JVM 启动速度?

android - TWA - 数字 Assets 链接正常,但地址栏仍然可见

android - 如何更新带有隐藏图标的Android应用程序

java - 使用混淆器时的异常行为

java - MapStruct中有EmptyStringCheckStrategy吗?

java - 如何在 Firebase 中实时存储位置?

android - 使用 Android FB SDK 发布到 friend 墙。

SDK 升级后 Android 模拟器运行缓慢且出现故障

运行新应用程序时的 Android 动画