android 3.1 上的 android 推送通知 (GCM) 存在问题:当我的应用程序关闭时 - 应该处理 GCM 推送消息 (Intents) 的广播接收器永远不会被调用。
在较低版本的 android 中,一切正常。广播接收器总是被调用(即使应用程序关闭)。
我知道从 Android 3.1 开始有新概念:当应用程序未运行时,它处于“停止”状态:http: //developer.android.com/about/versions/android-3.1.html#launchcontrols
因此,如果您想通过 Intent 启动“停止”应用程序 - 您应该将 FLAG_INCLUDE_STOPPED_PACKAGES 标志添加到 Intent。
但问题是我无法将 FLAG_INCLUDE_STOPPED_PACKAGES 标志添加到 GCM 意图,因为 GCM 意图(我的意思是“com.google.android.c2dm.intent.RECEIVE”和“com.google.android.c2dm.intent.REGISTRATION”)被抛出由操作系统。
所以我的问题是:在应用程序(其中注册了广播接收器)关闭(处于“停止”状态)的情况下,我如何通过广播接收器处理来自 GCM 的推送消息(在 android 3.1 上)?