2012-05-09 8 views
2

私のデバイスに通知を送信するためにAndroidのc2dmを使用しているとき、私は奇妙な問題があります。Android 4.0 c2dmの問題

「アプリケーションの管理 - >アプリケーション - >強制停止」を使用してアプリケーションを終了していて、デバイスにプッシュを送信しようとしても機能しません。

Androidバージョンが4.0未満の他のすべてのデバイスで動作します。

アイデア?

おかげ

EDIT: [OK]を、私はもう少し研究してきた、アプリケーションがこのように殺されたときに、バックグラウンドのコードが実行できないようです。

システムログは私にこのことを示しています

05-09 11:43:15.450: W/GTalkService(25542): [DataMsgMgr] broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE cat=[net.scimob.xxxxxx] (has extras) } 

それはアンドロイドではなく4.0とより以前のバージョンで動作しますなぜ私にはわかりません。たぶんgoogleはコード内の何かを変更しました。

ps:私がタスクキラーを使用する場合、アプリを強制終了するのと同じ方法は使用されず、c2dmプッシュは引き続き機能します。

私はこれが未来に役立つことを願っています!

答えて

4

「アプリケーションの管理 - >アプリケーション - >強制停止」を使用してアプリケーションを終了していて、デバイスにプッシュを送信しようとすると機能しません。

正しいです。それをしないでください。

Androidバージョンが4.0未満の他のすべてのデバイスで動作します。

この影響は、Android 3.1から始まります。アプリは、最初にインストールされたとき、または強制停止されたときに、ユーザーが手動で何らかのアクティビティーを起動するまで、再び実行されません。

+0

この回答ありがとうございます。ユーザーが手動でアプリを強制終了したときに、それが何も働かない理由を調べる時間を節約できます。 – thomasg

+0

'force-stop'アクションがc2dm関連のものにどのように影響するかをカバーする公式文書はありますか? –

+1

@PaulE .: "c2dm関連のもの"は、 "c2dm関連のもの"と変わりありません。 http://developer.android.com/about/versions/android-3.1.html#launchcontrols – CommonsWare