shortcutbadger設置在桌面上顯示新消息的角標(轉載)

原文鏈接《shortcutbadger設置在桌面上顯示新消息的角標》:點擊打開鏈接

===============================================================================================

shortcutbadger依賴庫的介紹

先上依賴庫下載地址:https://github.com/leolin310148/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"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章