0

主な活動は次の4つです。

    ProfileMenu.class

    CreateNewProfileStepOne.class

    CreateNewProfileStepTwo.class

    MainMenu.class

ProfileMenu.class から、ユーザーがアクションとして「Create new profile」を選択したとします。これにより、CreateNewProfileStepOne.class が起動され、ユーザーは名前や住所などのデータを入力します。CreateNewProfileStepTwo.class でも同じことが行われます。この時点で、ユーザーは CreateNewProfileStepOne と CreateNewProfileStepTwo の間を自由に行き来でき、すべてのデータが保存され、インテントを介して渡されます。ユーザーが CreateNewProfileStepOne.class からバックアップすると、入力したすべてのデータが失われ、ユーザーは最初からやり直す必要があります。

ただし、CreateNewProfileStepTwo.class アクティビティで [プロファイルの確認] ボタンを押した後、ユーザーを MainMenu.class に送信し、前のアクティビティ ProfileMenu、CreateNewProfileStepOne および CreateNewProfileStepTwo を強制終了したいと考えています。

MainMenu.class に入った直後にこれら 3 つのアクティビティを強制終了するにはどうすればよいですか? 私の知る限り、finish() はただ 1 つのアクティビティ、つまり現在のアクティビティが呼び出されたアクティビティに対してのみ作用します。Dに入る準備ができるまで、A、B、またはCを殺したくありません。そして、Dに入るときに、A、B、およびCを同時に殺したいです。

4

2 に答える 2

2

Intent起動するを作成するときは、MainMenuこのフラグを Intent に追加します: Intent.FLAG_ACTIVITY_CLEAR_TOP

Intent i = new Intent(MyCurrentActivity.this, MainMenu.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

履歴は保持されず、ユーザーは以前のアクティビティに戻ることができません

于 2013-09-04T15:19:30.580 に答える