Android系统实现应用角标未读消息数原理

Posted Jason_Lee155

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android系统实现应用角标未读消息数原理相关的知识,希望对你有一定的参考价值。

什么叫应用桌面角标 (BadgeNumber)?

即,未读消息通过在应用图标右上角显示数字提示用户的形式。也可以在通知栏里通知,消息阅读后,角标可以减少和消失。

实现原理:

其实本来 android 原生系统是不支持应用桌面角标 (BadgeNumber) 显示的。并不是应用本身处理对启动图标进行修改,图标的动态修改的过程主要是在Launcher里面完成的。在应用安装,更新,卸载的时候,都会有广播发出,Launcher在LauncherApplication 中注册广播,在LauncherModel中处理接收到广播的消息,重新加载更新应用信息(如:应用图标、文字等)。而是在强大的第三方Android手机厂商(如:三星、小米)的系统源码深度定制下、通过修改了Launcher源代码,增加/注册了新的广播接收器用来接收应用发送来的未读消息数广播,接收到广播后,系统将未读消息的数目显示事件交给Launcher去处理,调用相关方法去重绘应用的icon,最终达到动态更新应用图标的效果。


可参考的角标实现:

 

Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示

Android开发:史上最全Android应用角标适配方法

有关 Android 应用桌面角标 (BadgeNumber) 实现的探讨

以上是关于Android系统实现应用角标未读消息数原理的主要内容,如果未能解决你的问题,请参考以下文章

android设置消息角标

Android kotlin 内外部存储根目录及测试(可以实现仿微信未读消息数提示数字)

iOS 未读消息角标 仿QQ拖拽 简单灵活 支持xib(源码)

Android 未读消息计数显示在应用程序图标上

oppo手机怎么让软件图标右上角用红点显示未读消息数量?

Android Badge给应用添加角标