androidback-buttonback-button-control

How to detect Hard/Soft back button on Android device?


I want to know how to detect hard or soft "BACK Button" on device? I searched but mostly I found this code

   @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // do something on back.
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

But I just need to detect if there is BACK button exist on device or not in form of hard or soft.


Solution

  • I think this should work

    Queries the framework about whether any physical keys exist on the any keyboard attached to the device that are capable of producing the given key code.

    boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
    

    Android developer documentation