【发布时间】:2014-12-15 17:31:15
【问题描述】:
我已经使用 GCM 实现了应用程序来接收来自我的服务器的推送通知,它工作正常,但我有一个问题。当应用程序未运行时,我从服务器推送通知并且我无法在设备上接收来自 GCM 的通知,没关系。但是当我打开应用程序时,它仍然没有收到来自 GCM 的存储通知。请给我一些建议谢谢。
【问题讨论】:
标签: android google-cloud-messaging
我已经使用 GCM 实现了应用程序来接收来自我的服务器的推送通知,它工作正常,但我有一个问题。当应用程序未运行时,我从服务器推送通知并且我无法在设备上接收来自 GCM 的通知,没关系。但是当我打开应用程序时,它仍然没有收到来自 GCM 的存储通知。请给我一些建议谢谢。
【问题讨论】:
标签: android google-cloud-messaging
当您从应用设置屏幕手动停止/终止您的应用时,您将处于 GCM 消息仍将传送到设备的状态,但您的 BroadcastReceiver 将无法接收后续的 com.google.android.c2dm.intent.RECEIVE播送。所以这意味着 GCM 消息基本上会丢失。当您打开您的应用程序时,您将不会收到您在应用程序死机时错过的过去 GCM 消息。如果用户手动进入他们的设置并停止您的应用程序,则无法避免这种情况。
请注意,这与您从最近的任务/多任务列表中删除您的应用程序的情况不同 - 在这种情况下,您拥有的任何 BroadcastReceivers 仍然可以工作,您可以显示通知或执行一些工作时间,和/或持久存储某些内容,以便在用户下次打开您的应用时检测/使用。
【讨论】:
BroadcastReceiver,如下所述:developer.android.com/google/gcm/client.html#manifest?