我想在三星,索尼,Lg等所有设备上显示推送通知徽章,我想显示像facebook原生应用程序的通知徽章。我做了一个小的研究,在我的结果中,Android依靠通知中心向用户提供有关传入事件的指示。从技术上讲,如果您的应用已经这样做,您不必做任何其他事情。 但有些设备有自己的框架徽章接收器。
索尼
http://marcusforsberg.net/blog/android-notification-badge-app-icon-sony/
Intent intent = new Intent();
intent.setAction("com.sonyericsson.home.action.UPDATE_BADGE");
intent.putExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME", "com.yourdomain.yourapp.MainActivity");
intent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", true);
intent.putExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE", "99");
intent.putExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME", "com.yourdomain.yourapp");
sendBroadcast(intent);
在三星
https://github.com/shafty023/SamsungBadger
将以下权限添加到应用程序的AndroidManifest.xml
uses-permission android:name="com.sec.android.provider.badge.permission.READ"
uses-permission android:name="com.sec.android.provider.badge.permission.WRITE"
使用“1”
标记您的图标Context context = getApplicationContext();
if (Badge.isBadgingSupported(context)) {
Badge badge = new Badge();
badge.mPackage = context.getPackageName();
badge.mClass = getClass().getName();
badge.mBadgeCount = 1;
badge.save(context);
}
是否有其他框架徽章接收器代码可用?
答案 0 :(得分:2)
我也遇到了同样的问题但是你的问题的完美解决方案在链接下面:
https://derivedcode.wordpress.com/2013/10/09/showing-badge-or-count-in-android-app-icon/
答案 1 :(得分:0)
尝试使用此图书馆ShortcutBadger。
github的描述:
ShortcutBadger:ShortcutBadger使您的Android应用程序显示 将未读邮件计数为应用程序快捷方式上的徽章!
答案 2 :(得分:0)
这对我有用:
1) Add mavenCentral to your build script.
repositories {
mavenCentral()
}
2) Add dependencies for ShortcutBadger, it's available from maven now.
dependencies {
compile 'me.leolin:ShortcutBadger:1.1.4@aar'
}
3) Add the codes below:
int badgeCount = 1;
ShortcutBadger.applyCount(context, badgeCount); //for 1.1.4
ShortcutBadger.with(getApplicationContext()).count(badgeCount); //for 1.1.3
4) If you want to remove the badge
ShortcutBadger.removeCount(context); //for 1.1.4
ShortcutBadger.with(getApplicationContext()).remove(); //for 1.1.3
or
ShortcutBadger.applyCount(context, 0); //for 1.1.4
ShortcutBadger.with(getApplicationContext()).count(0); //for 1.1.3