目的
Androidアプリで遷移元のページに戻らせたくない時の処理メモ
例えば、登録画面 → 会員画面と遷移した時
会員画面から登録画面に戻れてしまい、重複して登録ボタンが押せちゃうとかないようにする場面とか。
環境
- Android Studio 3.6.1
- kotlin 1.3.71
参考サイト
Qiita Activityのスタックをすべて消すIntentを作成する
実装メモ
遷移時のintentのflagsオプションで以下のように設定する。
flags = FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
button.setOnClickListener {
val intent = Intent(application, SecondActivity::class.java)
intent.flags = FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(intent)
}
挙動
気になったこと
戻れなくする方法としてはFLAG_ACTIVITY_CLEAR_TOP
が有効だと思っていたのだけど、
戻れてしまう。古いバージョンでの知識だったか!?
最近(Android10)は戻るボタンを非表示にして、ジェスチャーで戻る操作をすることができて、
今後それが狩猟になっていく可能性もありそうだけど。。
ジェスチャーでの挙動は試していません。