AndroidのBackキーを無効にする方法
今回は、Backキーをアプリ上で無効にする方法を説明します。
Backキーを無効にするには、大まかに下記の2つがあります。
- dispatchKeyEventを使用してBackキーのハンドリングを行う
(dispatchkeyeventがよくわからない方はこちらの記事を参考にしてください。) - onBackPressedを使用する
それでは順番に手順を見ていきましょう。
dispatchKeyEventを使用してBackキーのハンドリングを行う
Backキー押下時の処理を無効にするには、
dispatchKeyEventでBackキー押下時にreturn trueを返すことで実装できます。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getAction()==KeyEvent.ACTION_DOWN) {
switch (event.getKeyCode()) {
// Backキー押下時の処理
case KeyEvent.KEYCODE_BACK:
// ダイアログ表示等の処理を行いたい場合はここに記述
// 親クラスのdispatchKeyEvent()を呼び出さずにtrueを返すことで、
// Backキーを無効にする
return true;
}
}
return super.dispatchKeyEvent(event);
}
onBackPressedを使用してBackキーのハンドリングを行う
もう一つの方法はonBackPressedを使用します。
下記のようにonBackPressedの中を殻にすることで戻るキーが無効化されます。
override fun onBackPressed() {
//中身を空にすることで戻るキーが無効化されます。
}
スポンサーリンク