如何使用硬菜单按钮开始新的 Activity?
How to start new Activity using hard Menu button?
这是代码示例,但它不起作用。
我在 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);
}
@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);
}
试试吧!
如果你只是想点击按钮而不是按住它,你可以使用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
。
这是代码示例,但它不起作用。 我在 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);
}
@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);
}
试试吧!
如果你只是想点击按钮而不是按住它,你可以使用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
。