AndroidのBackキーを無効にする方法

2019年5月16日

今回は、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() {
    //中身を空にすることで戻るキーが無効化されます。      
}

にほんブログ村