如何在Android设备上检测硬/软后退按钮?

时间:2014-06-23 05:01:16

标签: android back-button back-button-control

我想知道如何检测设备上的硬或软"BACK Button"?我搜索过,但大多数时候我发现了这段代码

   @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);
}

但我只需要检测设备上是否存在BACK按钮,或者不是硬或软的形式。

3 个答案:

答案 0 :(得分:8)

我认为这应该有用

查询框架,了解连接到设备的任何键盘上是否存在任何能够生成给定密钥代码的物理密钥。

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

Android developer documentation

答案 1 :(得分:0)

最好的方法是覆盖onBackPressed(),因为无论你想在onBackpressed键事件上实现什么功能,你也可以在onBackPress()方法中做到这一点。

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
   // do your stuff  here
    super.onBackPressed();
}

答案 2 :(得分:-2)

您可以通过覆盖方法

来完成此操作
   @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        super.onBackPressed();
    }