如何从android软键盘获取击键

时间:2020-08-24 13:44:30

标签: java android android-softkeyboard

我正在尝试通过软键盘上的击键来验证我的应用程序中的用户,我想获得:

  • 释放键并按。
  • 按键上的压力。
  • 按键上的手指区域。

我使用了onKeyUponKeyDown,但是它不起作用。 那么如何从软键盘获取这些事件。

1 个答案:

答案 0 :(得分:0)

代替在视图中使用onKeyDown,而是在活动级别覆盖dispatchKeyEvent。这将在您的关键事件到达窗口管理器之前对其进行处理,因此请确保在未明确处理的所有关键事件上调用super。使用ACTION_DOWN的示例(因为每个事件都具有ACTION_UPACTION_DOWN

@Override
public boolean dispatchKeyEvent(KeyEvent event){
    if(event.getAction() == KeyEvent.ACTION_UP) {
        return super.dispatchKeyEvent(event);
    }

    if (keyCode == KeyEvent.KEYCODE_DEL) {
    } else if (keyCode == KeyEvent.KEYCODE_BACK) {
    } else if (keyCode == KeyEvent.KEYCODE_ENTER) {
    } else {
        return super.dispatchKeyEvent(event);
    }
}