我想知道如何检测设备上的硬或软"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按钮,或者不是硬或软的形式。
答案 0 :(得分:8)
我认为这应该有用
查询框架,了解连接到设备的任何键盘上是否存在任何能够生成给定密钥代码的物理密钥。
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
答案 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();
}