我有一个游戏应用程序,当用户按下“返回”,“主页”,“菜单”或“电源”按钮时,我想暂停游戏。 我尝试了下面的代码,但只有后退按钮工作。其他人甚至不显示Toast消息。我不知道为什么。有任何代码问题吗?如果没有,有更好的方法吗?
public boolean onKeyDown(int keycode, KeyEvent e) {
switch(keycode) {
case KeyEvent.KEYCODE_HOME:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_MENU:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_BACK:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_POWER:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyDown(keycode, e);
}
}
答案 0 :(得分:0)
只需将您的代码放入活动的onPause
方法暂停游戏(在Android工作室中,您可以点击CTRL+O
以获取覆盖方法菜单,然后开始输入 onPau 并选择方法):
@Override
public void onPause() {
super.onPause();
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
}
现在,如果你的无论什么原因的活动失焦(在其上打开了其他内容,例如打开whatsapp来回复消息),它就会暂停。我建议你阅读更多here。