我正在開發可能會創建多個通知的消息應用程序。我希望它能夠在事情發生時更新和刪除這些通知。管理通知
例如,如果我收到來自A的消息,通知應該會顯示「您有1條來自A的消息」。如果有其他消息到達,應該說「你有2條來自A的消息」。
然後,如果我收到來自B的消息,它應該是一個綜合通知,它只是說「您有消息」,而不是來自每個發件人的單獨通知。
此外,當我點擊通知時,它應該取消,如果我點擊用戶的聊天窗口,來自用戶A的任何通知也應該取消。
現在我已經實現下面的代碼生成通知:
PendingIntent pendingIntent = PendingIntent.getActivity(context, -1, launchIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder noti = new NotificationCompat.Builder(
context).setContentTitle(context.getResources().getString(R.string.app_name))
.setContentText(notificationMessage)
.setSmallIcon(R.drawable.ic_stat_notify)
setContentIntent(pendingIntent)
setAutoCancel(true)
setWhen(System.currentTimeMillis())
setDefaults(Notification.DEFAULT_ALL);
notificationManager.notify(notifyId, noti.build());
這將創建通知就好了,而當用戶點擊它取消它。但是,我不確定如何更新通知,合併它們並取消相應的通知。有人知道嗎?
謝謝。
好的,我明白這個行爲。但是,這是不是意味着我不能有選擇地取消通知?例如,如果我收到來自用戶A的消息,並且在我確認通知之前,我從用戶B獲得一個用戶。關於用戶B的通知將取代用戶A的通知,並且我將無法取消用戶A的通知通知,留下用戶B的通知? – user1118764
另外,我保留了未確認通知的次數,以便在需要時可以合併通知,並且我希望在用戶確認通知時清除此計數。我無法弄清楚在哪裏做到這一點。點擊通知只會啓動意圖,並且我無法清除每個意向活動的每個onResume()的計數。 – user1118764