这是代码的一个例子,它不起作用。 我在MainActivity中添加了这个方法
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
Intent intent = new Intent(this, PrefActivity.class);
if (keyCode == KeyEvent.KEYCODE_MENU) {
startActivity(intent);
return true;
}
return super.onKeyLongPress(keyCode, event);
}
答案 0 :(得分:0)
如果您只想单击按钮而不按住它,则可以使用onKeyUp
。
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
startActivity(new Intent(this, LoginActivity.class));
return true;
}
return super.onKeyUp(keyCode, event);
}
如果您想处理onKeyLongPress
,那么您可以在onKeyDown and onKeyLongPress了解更多信息
它无法正常工作的原因是onKeyDown
正在消耗您的事件,在您放开密钥并且永远不会调用onKeyLongPress
之前,该事件一直被触发。
答案 1 :(得分:-3)
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
Intent intent = new Intent(getApplicationContext(), PrefActivity.class);
startActivity(intent);
return true;
}
return super.onKeyLongPress(keyCode, event);
}
试试吧!