1

私のアプリケーションには、次のアクティビティのスタックがあります。

A -> B -> C

各アクティビティには、内部クラスとしてブロードキャスト レシーバーがあり、IntentFilterそのonCreate()で に登録し、 で登録を解除しonDestroy()ます。

このパターンは通常のケースではうまく機能しますが、アプリが強制終了されると失敗します。アプリが強制終了された後に再度開かれると、最後のアクティビティ (C上記の例) のみが再度開かれ、そのブロードキャスト レシーバーが唯一の登録されたものになります。Cアクティビティを終了すると、Bアクティビティが再作成され(その を介して渡されますonCreate())、Aアクティビティとともに同様に処理されます。

アプリが強制終了された後に再度開かれるとすぐに、最上位のアクティビティではなく、アクティビティ スタック全体を再作成することは可能ですか?

ありがとう ;)

4

1 に答える 1

0

これに対する解決策は、アプリケーションコンテキストを拡張し、そこにレシーバーを登録することです。次に、どのアクティビティが開始されても、アプリケーションはそのIntentFiltersを登録します。

于 2012-11-27T15:42:43.223 に答える