【发布时间】:2012-08-17 21:29:58
【问题描述】:
我在我的 Android 项目中使用推送通知 (GCM)。
根据 GCM 教程,我实现了广播接收器并将其注册到 AndroidManifest.xml。
即使我的应用程序关闭,这种广播接收器也应该接收消息(不仅当我的应用程序在后台,而且即使它被强制停止)。
但它并没有像我预期的那样工作。如果应用程序关闭,则不会调用 onReceive() 方法。看来我对广播接收器的理解是正确的,问题出在我对 GCM 的期望中。
其中一个可能的原因是,如果应用程序关闭,谷歌服务器甚至不会向设备发送通知。那么,我的应用程序只有在运行或在后台(但未关闭)时才能接收消息(并且 onReceive() 方法将在广播接收器中调用)是否正确?
提前致谢。
【问题讨论】:
-
我有同样的问题,但我没有得到答案。你解决了吗?
-
如果你想模拟你的应用程序正常关闭(有点),在你的设备上,在开发者选项下,选择“不保留活动”。然后,每当您的一项活动进入后台时,它将被关闭。但是您的广播接收器将继续运行
-
@Fraser 你是对的,但应用程序的停止状态与活动的停止状态不同。系统分别管理这两个停止状态 (developer.android.com/about/versions/…)。
标签: android broadcastreceiver push-notification google-cloud-messaging