のa、b、私は、スタック内のアクティビティA-> Bを持つべき、との活動Cを起動するために、私はこのすべてが正常に動作します活動を閉じた後Androidはもはやスタック
Intent starter = new Intent(context, MainActivity.class);
starter.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(starter);
を呼び出していない活動に戻り、アクティビティAとBの両方でOnDestroyが呼び出されます。今すぐハードウェアの「戻る」ボタンを押すと、アクティビティは適切に終了し、非表示になります。しかし、問題は今、私がハードウェアの最近のアプリボタンをクリックしてアプリケーションを通してアプリケーションに戻ると、アクティビティAに戻ります。アクティビティは破壊されたものであり、スタックにはありません。マニフェストでは、アンドロイド:launchModeが設定されていないため、デフォルトで動作しています。
関連する情報の唯一の可能な部分は、ランチャーアクティビティであるアンドロイド:launchMode = "singleInstance"であるアクティビティXがあり、アクティビティAを起動し、それが破壊され、とにかくそのアクティビティスタックに収まるようにしてください。
の上に書かれたあなたのコードで上書きできます。スタック内にコースよりも何もない場合、Launcherアクティビティが呼び出されます(これはアクティビティAを呼び出すことよりも優先されます)。あなたは何が起こると思いますか? – AabidMulani
少し混乱して申し訳ありませんが、最後の段落で説明しています。アクティビティXは実際に起動アクティビティであり、singleInstance(他のアクティビティはそのタスクで起動できません)であり、アクティビティAを起動して終了します。したがって、アクティビティXが再び起動された場合でも、アクティビティAが起動されます。 –