ログイン後にメイン画面に遷移するアプリを実装するとき、メイン画面から戻るボタンでログイン画面に戻れないようにしたい。
そんなときはIntentに以下のようなフラグを設定してActivityを起動する。
loginButton.setOnClickListener {
val intent = Intent(this@LoginActivity, MainActivity::class.java)
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
startActivity(intent)
}
フラグの意味
- FLAG_ACTIVITY_NEW_TASK: 新しいタスクを作成し、起動するActivityをそのタスクのスタックに追加する
- FLAG_ACTIVITY_CLEAR_TASK: Activityを起動する前に、既存のタスクを破棄する。このフラグはFLAG_ACTIVITY_NEW_TASKと組み合わせてのみ使用できる。