メニュー付きの3つのアクティビティがあります。メニュー全体でアクティビティを切り替えることができます。各アクティビティの変更を維持するために、「android:launchMode="singleInstance」を AndroidManifest に取りました。
------------------
| |
| |
| |
| A |
| |
| |
| |
| |
|------------------|
|##A##| B | C |
------------------
A Activity
------------------
| |
| |
| |
| B |
| |
| |
| |
| |
|------------------|
| A |##B##| C |
------------------
B Activity
------------------
| |
| |
| |
| C |
| |
| |
| |
| |
|------------------|
| A | B |##C## |
------------------
C Activity
これは正しく動作します。私の問題は、終了したいために戻るキーを押すと、アプリを閉じるために 3 回押す必要があることです。
この手続きをなくしたい。したがって、A、B、または C アクティビティでキーを押し戻すと、すべて閉じます。どういうわけか私はジャンプバックスタックが欲しいです。
アクティビティ フラグを使用してみます。たとえば、次のようにします。
Intent intent=new Intent(this, B.class);
intent.setFlag(Intent.FLAG_ACTIVITY_TASK_ON_HOME);
startActivity(intent);
これには2つの問題があります。API 11以降をサポートしただけで、これは他のアクティビティを閉じません。(もう一度起動すると、他のアクティビティの変更が残っていることがわかります) * Fragment
*
を知っていて、これらを使用するとはるかに簡単になりますが、* Fragment * なしで解決する必要があります。私の悪い英語でごめんなさい。