自分が作っているアプリで端末の戻るボタンを制御する必要があり、Android Developers の公式リファレンスに簡単に制御する方法が載っていたのでその備忘録。
実装
基本的にこちらに書かれているのですが、以下の手順を行ます。
-
Fragment 内で
activity
からonBackPressedDispatcher
のインスタンスを取得 -
onBackPressedDispatcher#addCallback
にLifecycleOwner
とOnBackPressedCallback
を渡す。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activity?.onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// ここで戻るボタンがタップされた時の処理を行う。
}
})
}
終わりに
AndroidX が出る前は端末の戻るボタンを制御する際は結構めんどくさかったのですが、今は Fragment からも操作できるようになっていてとても簡単だなと思いました。
相変わらず Android が進化していて開発していてとても楽しいです。☺️