Android应用角标处理方案

前言

最近参与了一个系统应用开发的项目,负责电话模块,其中有一个功能需求是在收到未接来电时,在systemUI上显示角标,显示未接来电数,并在打开通话记录后,清除掉未接来电。查了一些资料后,记录下目前比较常用的角标方案。

内容

Android原生支持角标,是通过Notification实现的,但是没有数字;需要实现带数字的角标,需要厂商自己定制。

常见的方案

系统厂商,可从以下方案入手思考

方案做法优势劣势
FW自行监听通知定制Notification,添加msgCount参数;自定义广播接收APP发来的数据。不用把角标逻辑耦合在APPSytemUI耦合Notify逻辑
APP把角标存到数据库APP通过ContenResolver把角标数据存到系统数据库中,FW监听数据库变化。可自行控制SystemUI角标显示APP要关心角标的逻辑

华为是用的第二种方案,华为桌面角标开发指导书

第三方APP可从下面的库找到解决方案

原理上还是针对不同的机型做适配,如果设备本身不支持就没有办法了。
https://github.com/leolin310148/ShortcutBadger

小结

详细的每个主机厂商对应用角标的支持情况可见下文,讲的很详细了:
Android开发:史上最全Android应用角标适配方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值