我從GCM收到推送通知並希望它們顯示在通知欄中。所以我在GCMIntentService類中生成通知。Android:正確處理多個通知
如果通知區域中已經有通知,則必須在此通知中附加新消息(使用BigTextStyle)。但是,如何知道通知區域中是否存在來自我的應用程序的通知?
我從GCM收到推送通知並希望它們顯示在通知欄中。所以我在GCMIntentService類中生成通知。Android:正確處理多個通知
如果通知區域中已經有通知,則必須在此通知中附加新消息(使用BigTextStyle)。但是,如何知道通知區域中是否存在來自我的應用程序的通知?
您無法獲取現有通知,但可以通過設置通知ID來更新現有通知。
NotificationManager.notify(NotificationId, NotificationObject);
不,你不知道是否已經發布了通知;這是你應該跟蹤你的應用程序。
但是,幸運的是,用於更新現有通知的API與用於創建新通知的API相同:notify()
。也就是說,一旦您獲得新信息,將其添加到某個內部緩衝區(可能只是一個StringBuilder
),表示接收到的推送通知的完整集合,然後使用Notification.Builder
生成一個新通知,並使用上次使用的相同ID和標記呼叫notify()
。使用該ID和標籤的任何現有通知都將被替換爲新內容。
是的,我知道但我必須知道最後顯示的通知是否仍在顯示。我想合併我的通知。 – Mossos 2013-04-08 12:48:54
爲了更加清楚,我舉了一個例子: 1.新的GCM消息「消息1」到達。生成註釋 2.新的GCM消息「消息2」到達。如果仍顯示第一個通知,則生成一個包含「消息1」和「消息2」的新通知(具有相同的ID)。否則只顯示「消息2」。 – Mossos 2013-04-08 12:52:41
我出去了2天,但據我所知似乎不可能。如果我發現了什麼,我會讓你知道 – Amit 2013-04-09 16:20:31