編寫:fastcome1985 - 原文:http://developer.android.com/training/notify-user/managing.html
當(dāng)你需要對同一事件發(fā)布多次Notification時,你應(yīng)該避免每次都生成一個全新的Notification。相反,你應(yīng)該考慮去更新先前的Notification,或者改變它的值,或者增加一些值,或者兩者同時進(jìn)行。
下面的章節(jié)描述了如何更新Notifications,以及如何移除它們。
想要設(shè)置一個可以被更新的Notification,需要在發(fā)布它的時候調(diào)用NotificationManager.notify(ID, notification)方法為它指定一個notification ID。更新一個已經(jīng)發(fā)布的Notification,需要更新或者創(chuàng)建一個NotificationCompat.Builder對象,并從這個對象創(chuàng)建一個Notification對象,然后用與先前一樣的ID去發(fā)布這個Notification。
下面的代碼片段演示了更新一個notification來反映事件發(fā)生的次數(shù),它把notification堆積起來,顯示一個總數(shù)。
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
mNotifyBuilder.setContentText(currentText)
.setNumber(++numMessages);
// Because the ID remains unchanged, the existing notification is
// updated.
mNotificationManager.notify(
notifyID,
mNotifyBuilder.build());
...
Notifications 將持續(xù)可見,除非下面任何一種情況發(fā)生。