0

アプリケーションで C2DM を使用しており、アプリケーション内のクラスにデータを送信する受信機があります。クラスは通知を作成し、通知マネージャーに通知して投稿します。

問題は、アプリが設定を通じて手動で強制的に閉じられた場合、これが機能しないことです。これは、(明らかに) ブロードキャスト レシーバーもオフにするためです。

私が得たのは、Android 4.0 の新しいタスク マネージャー (3.0 に似ていますが、ユーザーはアプリを左または右にスワイプしてオフにすることもできるもの) でアプリをシャットダウンすると、動作が異なるということです。 C2DMメッセージから意図を取得したため、ブロードキャストレシーバーはまだ機能していますが、何らかの理由で、通知がトレイに表示されないのに、電話で通知ノイズが再生されます。

サウンドは通知に添付され、投稿されたときに再生されるため、通知が表示されずにサウンドを再生する方法がないため、何が起こっているのかわかりません。しかし、通知は表示されません。

なぜこれが起こっているのかについての洞察、または新しい 4.0 タスク マネージャーがアプリをリストからスワイプしたときに実際に何をするかについての洞察は素晴らしいでしょう.

ありがとう。

4

1 に答える 1

-1

ブロードキャストレシーバーはまだ応答していましたが、メインアプリの一部であり、現在は機能していないクラスから何かを取得していたため、失敗していました。そのため、必要なものはsharedprefsに保存され、通知が取得される前に取得されます送信済。

質問に答えるために、4.0 のタスク マネージャーからアプリをスワイプしても、設定のアプリケーション メニューの強制終了ボタンと同じように、アプリを「強制終了」しません。次回アプリを開くと、すべてのアクティビティが最初から再開されるように、アプリを強制終了します。これは、最後の残りのアクティビティにいて、押し戻された場合と同じです。これにより、最後に実行されたタスクで finish() を呼び出してシャットダウンします。アプリ。ブロードキャストリバイバー(および私が想定するサービス)はその後も実行されています。

于 2012-05-10T03:20:06.320 に答える