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

问题描述 投票:3回答:3

我想知道如何在设备上检测硬或软"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按钮,或者不是硬或软的形式。

android back-button back-button-control
3个回答
8
投票

我认为这应该有效

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

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

Android developer documentation


0
投票

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

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

-2
投票

您可以通过覆盖方法来完成此操作

   @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        super.onBackPressed();
    }
© www.soinside.com 2019 - 2024. All rights reserved.