美文网首页Android精选案例
Android系统 应用图标显示未读消息数(BadgeNumbe

Android系统 应用图标显示未读消息数(BadgeNumbe

作者: sirai | 来源:发表于2017-02-17 12:07 被阅读453次

    原理
    添加角标的原理就是发送一个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的不同意意味着代码量的增加和兼容性问题更加突出。

    图片.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系统 应用图标显示未读消息数(BadgeNumbe

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