Android 3.1 の Android プッシュ通知 (GCM) に問題があります。アプリが閉じている場合、GCM プッシュ メッセージ (インテント) を処理するブロードキャスト レシーバーが呼び出されません。
Androidの下位バージョンでは、すべて正常に動作します。ブロードキャスト レシーバーは常に呼び出されます (アプリが閉じられている場合でも)。
Android 3.1から新しい概念があることを知っています:アプリケーションが実行されていないときは「停止」状態です: http://developer.android.com/about/versions/android-3.1.html#launchcontrols
したがって、Intent を介して「停止した」アプリケーションを開始する場合は、FLAG_INCLUDE_STOPPED_PACKAGES フラグを Intent に追加する必要があります。
しかし、問題は、GCM インテント (「com.google.android.c2dm.intent.RECEIVE」と「com.google.android.c2dm.intent.REGISTRATION」を意味する) がスローされるため、GCM インテントに FLAG_INCLUDE_STOPPED_PACKAGES フラグを追加できないことです。 OSによって。
だから私の質問は次のとおりです:アプリケーション(ブロードキャストレシーバーが登録されている)が閉じられている(「停止」状態にある)状況でブロードキャストレシーバーを介してGCMからプッシュメッセージ(Android 3.1)を処理するにはどうすればよいですか?