アクティビティがアクティビティ スタックにあるため、新しいインテントを作成したくありません。
既に開始されていてスタックにあるアクティビティを (インテントまたはその他の方法で) 開始すると、Android はアクティビティの同じインスタンスを取得して、スタックの一番上に配置します。新しいインスタンスは作成されません。もちろん、これはアクティビティを手動で (呼び出して) 強制終了しなかった場合に発生しますfinish()
。
前のアクティビティに戻るのではなく、戻るボタンが実際にアプリケーションを終了するように、アクティビティ スタック全体をクリアするにはどうすればよいですか?
すべてのアクティビティで戻るボタンをオーバーライドしてアプリケーションを終了することはお勧めしません (アプリにそうする強い理由がない限り)。一般に、アプリは、ユーザーが戻るボタンを押したときに前のアクティビティに戻れるようにする必要があります (これはユーザーが期待することです)。
それでも戻るボタンで終了したい場合は、戻るボタン機能をオーバーライドして、ホーム画面につながるインテントを起動できます。
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);