您的位置:首页 > 其它

Notification使用误区

2017-11-27 18:00 197 查看

Updating notifications

To set up a notification so it can be updated, issue it with a notification ID by calling 
NotificationManager.notify()
.
To update this notification after you've issued it, update or create a 
NotificationCompat.Builder
 object,
build a 
Notification
 object from it, and issue the 
Notification
 with
the same ID you used previously. If the previous notification is still visible, the system updates it from the contents of the 
Notification
 object.
If the previous notification has been dismissed, a new notification is created instead.

Caution: The system applies a rate limit to updating notifications. If you post updates to a notification too frequently, the system may drop some notifications.Note: You can optionally call 
setOnlyAlertOnce()
 to
only turn on a notification sound, vibration, and ticker if the notification is not already showing.

The following snippet demonstrates a notification that is updated to reflect the number of events that have occurred. It stacks the notification, showing a summary:
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, CHANNEL_ID)
    .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());
...


=======================================

notification 更新一次就new 一次。。。不需要复用!!!!!!

否则会造成 TransactionTooLargeException   !!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  自定义View