如何在程序图标的角落收到通知?

时间:2014-04-04 04:53:06

标签: android push-notification icons

How to get a red Badge Notifications on Android like ios style

例如:  通知像Facebook,未接来电和新消息通知。  我在这里附上了样本屏幕。

2 个答案:

答案 0 :(得分:6)

没有一般的方法,我想有一些制造商的私人扩展。所以你可以挖掘那些特定于设备的API,但它们也可以是私有的,更好地放弃这个想法。

更新但是对于三星设备,有一个解决方案请参见this answer

答案 1 :(得分:0)

在Android中,我们没有徽章样式的方法作为iOS,但有些制造商支持在应用程序图标上显示徽章。

Example for badge style icon on app in android

三星,索尼和HTC支持在应用程序图标上添加徽章。

三星:

ContentResolver localContentResolver = this.a.getContentResolver();
Uri localUri = Uri.parse("content://com.sec.badge/apps");

ContentValues localContentValues = new ContentValues();
localContentValues.put("package", PACKAGE NAME);
localContentValues.put("class", CLASS NAME);
localContentValues.put("badgecount", number);

update localContentResolver, if update fails then localContentResolver.insert(localUri, localContentValues);

索尼

Intent intent= new Intent("com.sonyericsson.home.action.UPDATE_BADGE");

intent.putExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME", Class Name);

intent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", true);

intent.putExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE",number);

intent.putExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME", packageName);

sendBroadcast(intent);

对于HTC:

Intent updateIntent = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT");
updateIntent.putExtra("packagename", packageName);
updateIntent.putExtra("count", number);
this.sendBroadcast(updateIntent);

Intent setNotificationIntent = new Intent("com.htc.launcher.action.SET_NOTIFICATION");
ComponentName localComponentName = new ComponentName(packageName, className);
setNotificationIntent.putExtra("com.htc.launcher.extra.COMPONENT", localComponentName.flattenToShortString());
setNotificationIntent.putExtra("com.htc.launcher.extra.COUNT", number);
this.sendBroadcast(setNotificationIntent);