Android: バックスタックから以前のアクティビティをすべて削除する 質問する

Android: バックスタックから以前のアクティビティをすべて削除する 質問する

クリックするとログアウト私のボタンプロフィールユーザーを誘導したいアクティビティログイン新しい資格情報を使用する必要があるページが表示されます。

したがって、私はこのコードを使用しました:

Intent intent = new Intent(ProfileActivity.this,
        LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

onButtonClickログアウトボタンのにあります。

しかし、問題は、ログイン アクティビティでデバイスの戻るボタンをクリックすると、ProfileActivity に移動することです。ログイン アクティビティでデバイスの戻るボタンを押すと、アプリケーションが閉じるはずだと思っていました。

何が間違っているのでしょうか?

私はまた、android:launchMode="singleTop"私のマニフェストに追加しましたログインアクティビティ

ありがとう

ベストアンサー1

提案された解決策ここ私の場合はうまくいきました:

ジャワ

Intent i = new Intent(OldActivity.this, NewActivity.class);
// set the new task and clear flags
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);

コトリン

val i = Intent(this, NewActivity::class.java)
// set the new task and clear flags
i.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(i)

ただし、API レベル >= 11 が必要です。

おすすめ記事