MIUI6&7上重新設(shè)計(jì)了桌面app圖標(biāo)的角標(biāo)顯示,基本規(guī)則如下:
1、默認(rèn)的情況
當(dāng)app 向通知欄發(fā)送了一條通知 (通知不帶進(jìn)度條并且用戶可以刪除的),那么桌面app icon角標(biāo)就會顯示1.此時app顯示的角標(biāo)數(shù)是和通知欄里app發(fā)送的通知數(shù)對應(yīng)的,即向通知欄發(fā)送了多少通知就會顯示多少角標(biāo)。
2、通知可以定義角標(biāo)數(shù)
例如 有5封未讀郵件,通知欄里只會顯示一條通知,但是想讓角標(biāo)顯示5. 可以在發(fā)通知時加個標(biāo)示。
第三方app需要用反射來調(diào)用,參考代碼:
NotificationManager mNotificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(this)
.setContentTitle(“title”).setContentText(“text”).setSmallIcon(R.drawable.icon);
Notification notification = builder.build();
try {
Field field = notification.getClass().getDeclaredField(“extraNotification”);
Object extraNotification = field.get(notification);
Method method = extraNotification.getClass().getDeclaredMethod(“setMessageCount”, int.class);
method.invoke(extraNotification, mCount);
} catch (Exception e) {
e.printStackTrace();
}
mNotificationManager.notify(0,notification);
更多建議: