2017-10-04 66 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

现在我发现解决方案和它的工作谢谢:) –