原文鏈接《shortcutbadger設置在桌面上顯示新消息的角標》:點擊打開鏈接
===============================================================================================
shortcutbadger依賴庫的介紹
- 在項目開發的過程中,項目需求在手機桌面圖標上顯示新消息條數的角標
- 桌面角標的功能在原生android系統中是沒有提供此類API的
- 只有第三方深度定製過的android系統纔有此類功能
- 如:三星、小米、魅族、華爲等
- 但問題又來了,每家定製使用的方法又只不相同
- 因此今天的主角shortcutbadger上場了
shortcutbadger可以你的Android應用程序顯示未讀消息計數
作爲徽章,在您的應用軟件快捷!
支持以下系統
運用起來非常方便
1.添加mavencentral編譯腳本。
repositories {
mavenCentral()
}
- 1
- 2
- 3
2.添加shortcutbadger依賴性的,但它現在從Maven。
dependencies {
compile "me.leolin:ShortcutBadger:1.1.13@aar"
}
- 1
- 2
- 3
3.使用方法在桌面上顯示角標:(badgeCount = 0的話,不會顯示角標)
int badgeCount = 1;
ShortcutBadger.applyCount(context, badgeCount); //for 1.1.4+
ShortcutBadger.with(getApplicationContext()).count(badgeCount); //for 1.1.3
- 1
- 2
- 3
4.如果你想刪除的角標
ShortcutBadger.removeCount(context); //for 1.1.4+
ShortcutBadger.with(getApplicationContext()).remove(); //for 1.1.3
- 1
- 2
注意: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"/>