Android 角标学习总结

作者: 夏_Leon | 来源:发表于2018-07-24 16:29 被阅读19次

前言

角标,英文名badge,即桌面上显示未读消息的小数字,原ios功能,Android原生并没有该功能。目前被大部分android厂商所支持,但都是厂商自己支持,所以要考虑不同品牌的兼容问题。当前项目中想兼容品牌:华为、oppo、vivo、小米、魅族(猛然发现国内Android全是国产品牌的天下了,三星、诺基亚。。。)

框架

简单搜索下就能发现,目前使用率比较高的框架是 ShortcutBadger ,先对该框架进行测试。
添加依赖,进行简单测试

implementation 'me.leolin:ShortcutBadger:1.1.22@aar'

结果如下:
华为 P7-L07,EMUI3.1 支持
vivo re1.16,Funtouch OS 支持
荣耀 Che1-CL20,EMUI 不支持
OPPO R9m,ColorOS V3.0 不支持
魅族 MEIZU M6,Flyme 6.2 不支持
小米 RedmiNote5A,MIUI 9.6 支持(要在notification弹出前修改)

兼容性研究

华为,参考官方文档 华为角标开发API , 注意支持平台为EMUI4.1 及以上,手里俩测试机都太老。较新的手机应该按这个api就可以设置成功,倒不复杂。

OPPO,R9后台的通知设置里,有显示角标的选项,事实上该选项并不是对所有app开放的,就微信、QQ等国民应用有打开该选项的权限,目测是OPPO做了白名单限制,对这些机型也没有办法。

小米,miui6以上版本,角标数量为通知栏里的通知数量总和,同时可以在通知的"badgeCount"字段里设置通知数目,但也是计算在总和里的。 比如两条普通通知,和一条badgeCount为10的通知,则角标显示为12。当清空掉后者,角标显示为2。
因此可以通过在弹出通知前,修改notification进行角标设置,但是我的项目是采用极光推送的默认通知的,无法触及到notification,很难采用这种办法。有一个思路是收到极光推送时马上取消通知再仿造一个类似的notification弹出,在该notification中设置badgeCount,试了下可以实现,但触及到业务修改,且太丑陋,暂不采用。

魅族Flyme系统,干脆就不支持角标,桌面倒清爽,非常舒服。

其他品牌的就按ShortcutBadger的设置,手头的测试机不够,测试有限。

参考

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

相关文章

  • Android 角标学习总结

    前言 角标,英文名badge,即桌面上显示未读消息的小数字,原ios功能,Android原生并没有该功能。目前被大...

  • Android 角标适配

    Android 角标适配 小米的角标消息需要通过通知来实现,并且需要设置通知级别适配android8 参考文章:h...

  • Android角标

    有关Android应用桌面角标(BadgeNumber)实现的探讨 贝聊科技 有关Android应用桌面角标(Ba...

  • android角标

    github开源项目: 使用简单 https://github.com/leolin310148/Shortcut...

  • Android 分享

    Android 设置角标 自定义View物流信息样式 Android代码分享

  • Android探索之旅 | 为应用添加角标(Badge)

    -- 作者 谢恩铭 转载请注明出处 内容简介 需求简介 Android角标起源 不错的Github项目 清除角标 ...

  • Android 角标控制

    Android实现应用数字角标https://juejin.cn/post/7003536061695524877...

  • 合并图片

    使用python 为 android icon 增加角标pil 官方文档# -- coding:utf-8 --'...

  • Android各版本适配需要注意的地方(积累中)

    Android 8.0 ①通知栏适配 ②角标功能 值得高兴的是,从8.0系统开始,Google制定了Android...

  • 角标 (标签栏,导航栏)

    标签栏 UITabBarItem 角标 [A].UITabBar默认角标UITabBar默认角标:(可以显示 角标...

网友评论

    本文标题:Android 角标学习总结

    本文链接:https://www.haomeiwen.com/subject/zdhemftx.html