使用android捕获按键

时间:2010-02-14 17:02:38

标签: android key message keypress

如何使用Android SDK捕获手机按键?我一直在寻找几个小时而没有找到任何东西..

例如:

在某些情况下,我希望在用户按下手机上的“挂断”按钮时捕获该消息,然后在消息到达操作系统之前将其丢弃。

这可能吗?

1 个答案:

答案 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

的列表