2012-09-06 30 views
6

アンドロイド3.1のアンドロイドプッシュ通知(GCM)に問題があります:アプリが終了しているとき - GCMプッシュメッセージ(インテント)を処理する必要のあるブロードキャスト受信者は呼び出されません。アンドロイド3.1のGCMプッシュ通知

より低いバージョンのアンドロイドでは、すべてうまく動作します。ブロードキャスト受信者は常に呼び出されます(アプリが閉じている場合でも)。

私は、Android 3.1から新しい概念があることを知っている:あなたは開始したいのであれば http://developer.android.com/about/versions/android-3.1.html#launchcontrols

意向を介してアプリケーションを「停止」 - あなたが追加する必要があります。アプリケーションは、それが状態を「停止」にある実行されていないときFLAG_INCLUDE_STOPPED_PACKAGESはインテントにフラグを立てます。

しかし、問題は、GCMインテント(「com.google.android.c2dm.intent.RECEIVE」と「com.google.android.c2dm.intent.REGISTRATION」を意味するため、FLAG_INCLUDE_STOPPED_PACKAGESフラグをGCMインテントに追加できないということです) ")がOSによってスローされます。

私の質問は、ブロードキャスト受信者がアプリケーション(ブロードキャスト受信者が登録されている)が閉じられている(「停止した」状態にある)状況で、GCMからのアンドロイド3.1のプッシュメッセージを処理する方法は?

答えて

7

アプリケーション(ブロードキャスト受信者が登録されている)が閉じられている(「停止」状態にある)状況で、ブロードキャスト受信者経由でGCMからプッシュメッセージ(android 3.1)を処理する方法はありますか?

できません。ユーザーがアプリを強制停止した場合、あなたのアクティビティを起動したユーザーなど、手動で呼び出されない限り、アプリは何もAndroid 3.1以降では実行されません。あなたの目的は、ユーザーにあなたのアプリを強制停止する理由を与えることではありません。

+0

ありがとうございます! –

関連する問題