私のアプリは、マニフェストに launch-mode attribute ="singleTop" があり、getIntent() で起動されたインテントを処理します。インテントを処理した後、setIntent(new Intent()); を呼び出します。本来の意図を消す。これにより、アクティビティが再度作成された場合 (たとえば、向きの変更が管理されている場合) に同じインテントを処理することを回避できます。
戻るボタンを押したときにアクティビティが破棄されると問題が発生します。実際、「最近のアプリ」スロットをタップすると、アクティビティが再度作成され、元の意図が再び処理されます。ホーム画面からアプリを再度呼び出すと、本来の意図はありません。
ご了承ください:
- アプリは「最近のアプリ」メニューに表示されている必要があります。
- アクティビティはさらにインテントを受け取り (「singleTop」)、onNewIntent() でそれらを処理できます。
- アクティビティが破棄された場合、インテントを使用して再開できます。「最近のアプリ」スロットからも元の意図を消去するにはどうすればよいですか?