2012-08-23 124 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没有办法告诉他们信息已经崩溃了。 –