2012-08-23 130 views
5

我正在使用c2dm(gcm)在Android上的聊天應用程序工作。如果我的應用程序無法直接顯示,每個收到的消息都會發出通知。問題在於用戶離開電網時,在這種情況下,c2dm消息將疊加並在他重新聯機時立即完成交付。通知聲音是在1秒內添加所有通知的結果。如何防止這一點?所需的行爲是該通知聲音播放一次,而tickertext和通知的內容都是最新的與最後收到的消息防止多個通知聲音android

回答

5

我最終使用了設置爲未來1秒的鬧鐘。我用相同的意圖設置多個警報,早期的警報會自動刪除。因此,當第二個時間間隔以1秒爲間隔時,它會刪除第一個。

0

利用collapse_key的僅處理堆棧

的最後一個「通知」對於更多信息,請參閱https://developers.google.com/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages

+0

這不是我的選擇,因爲我使用有效負載的消息(即不僅是一個新的聊天消息可用,而且正文)。所以如果一條消息被摺疊,我的客戶就會錯過。如果GCM將添加一個標誌,指示先前發送的消息已被刪除,我可以聯繫服務器並進行同步。但是AFAIK沒有辦法告訴他們信息已經崩潰了。 –