Android系统实现应用角标未读消息数原理
Posted Jason_Lee155
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android系统实现应用角标未读消息数原理相关的知识,希望对你有一定的参考价值。
什么叫应用桌面角标 (BadgeNumber)?
即,未读消息通过在应用图标右上角显示数字提示用户的形式。也可以在通知栏里通知,消息阅读后,角标可以减少和消失。
实现原理:
其实本来 android 原生系统是不支持应用桌面角标 (BadgeNumber) 显示的。并不是应用本身处理对启动图标进行修改,图标的动态修改的过程主要是在Launcher里面完成的。在应用安装,更新,卸载的时候,都会有广播发出,Launcher在LauncherApplication 中注册广播,在LauncherModel中处理接收到广播的消息,重新加载更新应用信息(如:应用图标、文字等)。而是在强大的第三方Android手机厂商(如:三星、小米)的系统源码深度定制下、通过修改了Launcher源代码,增加/注册了新的广播接收器用来接收应用发送来的未读消息数广播,接收到广播后,系统将未读消息的数目显示事件交给Launcher去处理,调用相关方法去重绘应用的icon,最终达到动态更新应用图标的效果。
可参考的角标实现:
以上是关于Android系统实现应用角标未读消息数原理的主要内容,如果未能解决你的问题,请参考以下文章
Android kotlin 内外部存储根目录及测试(可以实现仿微信未读消息数提示数字)