在Android上连续按下2个按键?

时间:2014-04-01 23:48:04

标签: java android

我正在尝试创建一个包含一系列2位数字快捷方式的菜单页面。所以我需要能够听两次按键,然后根据按下哪两个键做一些事情。

我设法让一个键工作:

@Override
public boolean dispatchKeyEvent(KeyEvent e) {
    if(e.getAction() == KeyEvent.ACTION_UP) {
        if (e.getKeyCode() == KeyEvent.KEYCODE_F) {
            Log.d("Test", "YOU PRESSED THE F KEY");
            startActivity(new Intent(getApplicationContext(), MainActivity.class));
            return true;
        }
    }
    return super.dispatchKeyEvent(e);
};

但是我仍在试图弄清楚如何添加第二次按键然后启动活动。谢谢

1 个答案:

答案 0 :(得分:1)

我假设2个键是E和F.更改您的代码如下。

  private int keyCode = KeyEvent.KEYCODE_UNKNOWN;

@Override
public boolean dispatchKeyEvent(KeyEvent e) {
    if(e.getAction() == KeyEvent.ACTION_UP) {
        if (keyCode == KeyEvent.KEYCODE_E  && e.getKeyCode() == KeyEvent.KEYCODE_F) {
            Log.d("Test", "YOU PRESSED THE E KEY and then F kEY");
            startActivity(new Intent(getApplicationContext(), MainActivity.class));
            return true;
        }else {
            keyCode = e.getKeyCode();
        }
    }
    return super.dispatchKeyEvent(e);
};