我正在尝试创建一个包含一系列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);
};
但是我仍在试图弄清楚如何添加第二次按键然后启动活动。谢谢
答案 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);
};