我该如何使用Android SDK捕获手机按键?我已经寻找了几个小时,但没有找到任何有用的信息。
例如:
在某些情况下,我想要捕获用户按下手机上的“挂断”按钮时的消息,并在消息传递到操作系统之前丢弃它。这种做法可行吗?
您可以从视图或整个应用程序中处理关键事件:
从视图处理onKey:
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
/* This is a sample for handling the Enter button */
return true;
}
return false;
}
记得实现OnKeyListener并设置你的监听器 YourView.setOnKeyListener(this);
第二种可能性是:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
/* Sample for handling the Menu button globally */
return true;
}
return false;
}
你也可以看一下 onKeyUp
。
资源:http://developer.android.com/reference/android/view/View.html
在这里,你可以看到所有 KeyEvents 的列表。