2017-10-04 30 views
1

你好我的Android應用程序,我需要添加獾到應用啓動我在互聯網上搜索,發現這個庫的Android獾每一個Android設備

compile 'me.leolin:ShortcutBadger:[email protected]' 

是工作,但不是因爲我在三星嘗試了所有設備HTC和它的工作,但在夏威夷或索尼不工作如何我可以使每個Android設備的這項工作?

這是我的代碼

int badgeCount = 0; 
      try { 
       badgeCount = Integer.parseInt(bundle.getString("badge")); 
      } catch (NumberFormatException e) { 
       e.printStackTrace(); 
      } 
      try { 
       ShortcutBadger.applyCount(getApplicationContext(), badgeCount); 
      } catch (Exception e) { 
       e.printStackTrace(); 
       Log.d("BADGE","BADGE"); 
      } 

然後我試圖添加的權限來體現這個樣子,也沒有工作

<!--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"/> 

    <!--for EvMe--> 
    <uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_READ"/> 
    <uses-permission android:name="me.everything.badger.permission.BADGE_COUNT_WRITE"/> 

回答

1

我怎麼可以做這項工作,每Android設備?

你不行。

如何在主屏幕上顯示內容的決定取決於主屏幕的開發人員,而不是您。 Android有數百種不同的主屏幕實現,既有預安裝,也有用戶安裝。沒有人必須爲應用程序開發人員提供任何類型的API來在啓動器圖標上設置徽章。

一些會有這樣的API並將它記錄下來。一些會有這樣一個API供內部使用,像你試圖使用的庫的開發人員可能會嘗試幫助你使用這些內部API。但許多主屏幕不會有這種API。

你的主要選擇是:

  1. 停止試圖處理完全啓動器圖標徽章。

  2. 解決您的圖書館爲您提供的服務。

  3. 編寫您自己的主屏幕並嘗試強制用戶使用主屏幕,以便您可以擁有啓動器圖標徽章。

+0

感謝您的重播,那麼應用程序如何像facebook和whatsapp等工作?對於每個或大多數設備? –

+0

@MoayedAlayaseh:你必須問Facebook他們與設備製造商和其他主屏幕實施者達成了什麼樣的交易。 – CommonsWare

+0

現在我發現解決方案和它的工作謝謝:) –