2012-09-06 81 views
6

有与Android 3.1的Android推送通知(GCM)问题:当我的应用程序被关闭 - 广播接收机的应处置GCM推送消息(意图)永远不会被调用。GCM推送通知:禁止广播接收器

在较低的Android版本的一切工作得很好。广播收件人总是被调用(即使应用程序已关闭)。

我知道在Android 3.1有新的概念:当应用程序不运行它处于“停止”状态: http://developer.android.com/about/versions/android-3.1.html#launchcontrols

所以,如果你想开始“停止”通过意向应用 - 你应该添加FLAG_INCLUDE_STOPPED_PACKAGES标志为意图。

但问题是,我不能将FLAG_INCLUDE_STOPPED_PACKAGES标志添加到GCM意图因为GCM意图(我的意思是“com.google.android.c2dm.intent.RECEIVE”和“com.google.android.c2dm.intent.REGISTRATION “)被操作系统抛出。

所以我的问题是:如何处理应用程序(其中broadcastreceiver注册)关闭(处于“停止”状态)情况下从GCM通过广播接收器推送消息(在Android 3.1上)?

回答

7

当应用程序(其中broadcastreceiver注册)关闭(处于“停止”状态)的情况下,我怎么能从GCM通过广播接收器处理推送消息(在android 3.1上)?

你不行。如果用户强制停止您的应用程序,则除非手动调用,否则应用程序的任何内容都不会再运行(在Android 3.1+上),例如用户启动您的某个活动。你的目标是让用户没有理由强制停止你的应用程序。

+0

谢谢你的解释! –