检测Android中的物理菜单按键 [英] Detecting physical Menu key press in Android
问题描述
我试图检测我的 Android 手机上的物理菜单按钮何时被按下.我虽然下面的代码可以工作,但它没有.请问我哪里出错了?
I am trying to detect when the physical Menu button on my Android phone has been pressed. I though the code below would work but it does not. Where am I going wrong please?
返回的错误是'Illegal modifier for parameter onKeyDown;只允许final'
The error returned is 'Illegal modifier for parameter onKeyDown; only final is permitted'
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
// Do Stuff
} else {
return super.onKeyDown(keyCode, event);
}
}
推荐答案
我会寻找 up 键事件,而不是 down 事件,带有 onKeyUp
.
I'd look for an up key event, rather than a down event, with onKeyUp
.
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
// ........
return true;
}
return super.onKeyUp(keyCode, event);
}
我们返回 true
因为我们正在处理事件;如果您希望系统也处理该事件,则返回 false
.
We return true
because we're handling the event; return false
if you want the system to handle the event too.
您也可以在 Activity
实例中执行所有这些操作,因为 Activity
是 KeyEvent
的已知间接子类.
You can do all of this in your Activity
instance too because Activity
is a known indirect subclass of KeyEvent
.
这篇关于检测Android中的物理菜单按键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!