0

私はこのスタックを持っています:

ログイン アクティビティ -> 登録アクティビティ

登録が成功したら、これを呼び出します。

Intent i = new Intent(getApplicationContext(),Home.class);
i.addFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK );
startActivity(i);
finish();

そして、これで登録アクティビティは終了しますが、ログインアクティビティは終了しないため、スタックは次のようになります。

ログイン アクティビティ -> ホーム アクティビティ

何かアドバイス?

4

3 に答える 3

1

バックトレース アクティビティをクリアするために意図的にこれを使用します。

ジャワ

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

コトリン

 var intent = Intent(this, [Your_activity]:class.java)
        intent.flags =  Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
        startActivity(intent)
于 2019-11-01T10:41:44.270 に答える
0

スタックの一番上にあるアクティビティをクリアするには、

Intent i = new Intent(getApplicationContext(), Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.putExtra("EXIT", true);
startActivity(i);
finish();
于 2014-10-27T20:52:18.510 に答える
0

さて、私はこの答えを使ってしまいました

履歴スタック全体をクリアし、Android で新しいアクティビティを開始します

そして、それは私がやろうとしていることを正確に行います

于 2014-10-28T15:36:20.577 に答える