Androidでアクティビティスタックをクリアする方法


アクティビティスタックをクリアする主な目的は、アプリの特定のフローを終了して、ユーザーを最初の画面に戻すことです。以下に、いくつかのシンプルで簡単な方法とコード例を示します。

  1. フラグメントを使用した方法: アクティビティスタックをクリアするために、最初の画面に戻るフラグメントを表示します。以下のコードは、フラグメントを使用してアクティビティスタックをクリアする例です。

    // フラグメントを表示してアクティビティスタックをクリアする
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
  2. インテントフラグを使用した方法: アクティビティを起動する際に、クリアフラグを設定することでアクティビティスタックをクリアすることもできます。以下のコードは、インテントフラグを使用してアクティビティスタックをクリアする例です。

    // クリアフラグを設定してアクティビティスタックをクリアする
    Intent intent = new Intent(this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
  3. タスクを終了する方法: タスク自体を終了することで、アクティビティスタックをクリアすることもできます。以下のコードは、タスクを終了してアクティビティスタックをクリアする例です。

    // タスクを終了してアクティビティスタックをクリアする
    finishAffinity();

これらの方法を使用することで、アクティビティスタックをクリアし、ユーザーを最初の画面に戻すことができます。アプリケーションの要件や使用シナリオに応じて、適切な方法を選択してください。

以上が、Androidでアクティビティスタックをクリアする方法に関する説明です。