据我了解,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/