java - 快捷方式 Badger 库不会在 Android Studio 中的应用程序图标上显示徽章计数

标签 java android

我无法对通过 android studio 开发的应用程序进行徽章计数。

实际上,我想添加徽章计数,该数量等于我从 Google Cloud Messaging 服务收到的通知数量,并且在阅读通知后,徽章计数应该从应用程序图标中消失。

为了实现这一目标,经过长时间的冲浪,我从 git hub 登陆到一个名为 ShortcutBadger 的库,它将提供手动在应用程序图标上显示徽章计数的功能。所以我在我的项目中尝试了它,代码如下所示:-

public class MainActivity extends Activity {



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);





            try {
                int badgeCount = 4;

                ShortcutBadger.setBadge(getApplicationContext(), badgeCount);
                System.out.println("setbadge");

            } catch (ShortcutBadgeException e) {
                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }

}

可以在这里找到 Shortcut Badger jar 文件:- its from github click me

现在,在运行该项目时,我没有遇到任何异常,它在我的索尼 xperia 上运行得很好,但我没有在我的应用程序图标上看到任何徽章计数为 4。

我的终端消息显示如下:-

04-11 11:40:37.353  19207-19207/com.badger.badge D/dalvikvm﹕ Late-enabling CheckJNI
04-11 11:40:38.503  19207-19207/com.badger.badge I/System.out﹕ setbadge
04-11 11:40:38.543  19207-19207/com.badger.badge D/libEGL﹕ loaded /system/lib/egl/libGLES_android.so
04-11 11:40:38.553  19207-19207/com.badger.badge D/libEGL﹕ loaded /system/lib/egl/libEGL_adreno200.so
04-11 11:40:38.563  19207-19207/com.badger.badge D/libEGL﹕ loaded /system/lib/egl/libGLESv1_CM_adreno200.so
04-11 11:40:38.563  19207-19207/com.badger.badge D/libEGL﹕ loaded /system/lib/egl/libGLESv2_adreno200.so
04-11 11:40:38.623  19207-19207/com.badger.badge I/Adreno200-EGLSUB﹕ <ConfigWindowMatch:2078>: Format RGBA_8888.
04-11 11:40:38.643  19207-19207/com.badger.badge D/memalloc﹕ /dev/pmem: Mapped buffer base:0x5c830000 size:26263552 offset:22495232 fd:64
04-11 11:40:38.643  19207-19207/com.badger.badge E/﹕ Can't open file for reading
04-11 11:40:38.643  19207-19207/com.badger.badge E/﹕ Can't open file for reading
04-11 11:40:38.653  19207-19207/com.badger.badge D/OpenGLRenderer﹕ Enabling debug mode 0
04-11 11:40:38.733  19207-19207/com.badger.badge D/memalloc﹕ /dev/pmem: Mapped buffer base:0x5e34a000 size:37519360 offset:33751040 fd:67

最佳答案

我得到了解决方案,实际上我没有授予獾读取或写入我的索尼爱立信手机的权限,因此您需要将以下权限粘贴到您的manifest.xml中并解决问题宾果...

 <uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE" />

关于java - 快捷方式 Badger 库不会在 Android Studio 中的应用程序图标上显示徽章计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574793/

相关文章:

安卓 : How change focus on form with out user action?

Android 5.1,ActionBarDrawerToggle 不显示箭头,适用于 5.0,无需更改代码

android - 钛内存管理

Android gradle 插件工具已过时

Java PathIterator顺时针还是逆时针?

java - 绘制图形节点的坐标算法

java - 基本偏好安卓

javascript - 当第一个站点无法加载时使用 js 重定向站点

java - 如何组合两个实现?

android - 布局项被隐藏