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

原理
添加角标的原理就是发送一个Broadcast(广播),在广播的Intent中指定需要被添加角标的应用的packageName(包名),className(类名),count(角标数目)。当然了,不同厂商的手机的角标操作的Intent的action是不一样的。

https://github.com/leolin310148/ShortcutBadger
可能会碰到如下两个问题:

http://blog.csdn.net/xx326664162/article/details/51083400
http://blog.csdn.net/xx326664162/article/details/51087827

使用方法

  • Add mavenCentral to your build script.
  repositories {
        mavenCentral()
    }
  • Add dependencies for ShortcutBadger, it's available from maven now.
 dependencies {
        compile "me.leolin:ShortcutBadger:1.1.13@aar"
    }

  • Add the codes below:
   int badgeCount = 1;
    ShortcutBadger.applyCount(context, badgeCount); //for 1.1.4+
    ShortcutBadger.with(getApplicationContext()).count(badgeCount); //for 1.1.3

  • If you want to remove the badge
  ShortcutBadger.removeCount(context); //for 1.1.4+
    ShortcutBadger.with(getApplicationContext()).remove();  //for 1.1.3

or

    ShortcutBadger.applyCount(context, 0); //for 1.1.4+
    ShortcutBadger.with(getApplicationContext()).count(0); //for 1.1.3

Android系统 小米,三星,索尼手机发送桌面快键提醒数字图标,在Android系统中,众所周知不支持BadgeNumber,虽然第三方控件BadgeView可以实现应用内的数字提醒。

但对于系统的图标,特别是app的logo图标很难实现数字标志,即使是绘图的方式不断修改,但这种方式天生弊端,实用性很差。但幸运的是,某些ROM厂商提供了私有的API,但也带来了难度,API的不同意意味着代码量的增加和兼容性问题更加突出。

Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示_第1张图片
图片.png
  • 《Android群英传》和《Android群英传:神兵利器》的作者 徐宣生 也在自己的Github上建了一个项目:https://github.com/xuyisheng/ShortcutHelper ,挺有意思,里面还有号称“疯狂模式”的为所有在手机桌面上的应用加上99的角标数的功能,当然了,去除的代码也有,不然处女座岂不是要晕了~
    

参考:
http://my.oschina.net/ososchina/blog/352286?p=1#comments
http://www.voidcn.com/blog/kongbaidepao/article/p-62251.html
http://www.eoeandroid.com/thread-557210-1-1.html

你可能感兴趣的:(Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示)