shortcutbadger依赖库的介绍
- 在项目开发的过程中,项目需求在手机桌面图标上显示新消息条数的角标
- 桌面角标的功能在原生android系统中是没有提供此类API的
- 只有第三方深度定制过的android系统才有此类功能
- 如:三星、小米、魅族、华为等
- 但问题又来了,每家定制使用的方法又只不相同
- 因此今天的主角shortcutbadger上场了
shortcutbadger可以你的Android应用程序显示未读消息计数
作为徽章,在您的应用软件快捷!
支持以下系统
运用起来非常方便
1.添加mavencentral编译脚本。
repositories {
mavenCentral()
}
2.添加shortcutbadger依赖性的,但它现在从Maven。
dependencies {
compile "me.leolin:ShortcutBadger:1.1.13@aar"
}
3.使用方法在桌面上显示角标:(badgeCount = 0的话,不会显示角标)
int badgeCount = 1;
ShortcutBadger.applyCount(context, badgeCount); //for 1.1.4+
ShortcutBadger.with(getApplicationContext()).count(badgeCount); //for 1.1.3
4.如果你想删除的角标
ShortcutBadger.removeCount(context); //for 1.1.4+
ShortcutBadger.with(getApplicationContext()).remove(); //for 1.1.3
注意:shortcutbadger只能支持以上大部分系统的Launcher启动器
以下是如何把依赖库转换为jar包
- 下载ShortcutBadger进行解压得到ShortcutBadger-master文件夹
- 文件夹中的ShortcutBadger就是依赖包的源码文件
- 把它导入Eclipse中
- 从Eclipse中可以看出ShortcutBadger项目中src目录下没有源文件
- 把ShortcutBadger –> java 中的源文件剪切到src目录中后
- ShortcutBadger项目会报错
- 原因是api版本过低,把api版本调置到5.0以上,Clean一下就OK了
- 最后把ShortcutBadger项目变为依赖库
- 让自己的项目去添加ShortcutBadger依赖
最后运行自己的项目成功后,就会在ShortcutBadger依赖项目中bin文件夹下生成我们需要的jar文件
至此我们就可以把自己项目添加的ShortcutBadger依赖删除,把刚生成的jar包放入我们的项目中。
注意用此方法生成的jar包运用到自己的项目中时,需要把权限申明写入到我们自己的AndroidManifest.xml文件中
<!--for Samsung-->
<uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
<uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>
<!--for htc-->
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>
<!--for sony-->
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>
<!--for apex-->
<uses-permission android:name="com.anddoes.launcher.permission.UPDATE_COUNT"/>
<!--for solid-->
<uses-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>
<!--for huawei-->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<!--for ZUK-->
<uses-permission android:name="android.permission.READ_APP_BADGE"/>
<!--for OPPO-->
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>