如何使用Android SDK捕获手机按键?我一直在寻找几个小时而没有找到任何东西..
例如:
在某些情况下,我希望在用户按下手机上的“挂断”按钮时捕获该消息,然后在消息到达操作系统之前将其丢弃。
这可能吗?
答案 0 :(得分:17)
您可以处理视图中的关键事件,也可以处理整个应用程序的关键事件:
从视图处理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
的列表