我正在制作一个游戏,如果用户以任何方式离开了该活动(back或home键按下),该活动需要通过发布到脚本并结束该活动来结束游戏。
我可以检测是否按下了back键,但是,我找不到任何有效的方法来检测是否按下了home键。我不能在Activity_Pause方法中结束游戏,因为假设用户在游戏中途接到一个电话。
我知道你不能捕获事件,但是,是否有人找到了一种方法来查看活动是否是用户留下的,而不是像电话这样的东西将其发送到后台。
发布于 2013-03-13 09:27:58
好的,如果你坚持,这就是你要做的工作。Android的下一个版本可能会填补这个漏洞。
boolean mKeyPress;
boolean mUserLeaveHint;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
mKeyPress = true;
return super.onKeyDown(keyCode, event);
}
@Override
protected void onUserLeaveHint()
{
super.onUserLeaveHint();
mUserLeaveHint = true;
}
@Override
protected void onPause()
{
super.onPause();
if (!mKeyPress && mUserLeaveHint)
{
// HOME_KEY is pressed
}
}
发布于 2013-03-13 08:13:42
看起来像是这个的复制品
Android, How to receive home button click through broadcast receiver?
@Override
public boolean dispatchKeyEvent(KeyEvent keyevent) {
if (keyevent.getKeyCode() == KeyEvent.KEYCODE_HOME) {
//Do here what you want
return true;
}
else
return super.dispatchKeyEvent(event);
}
https://stackoverflow.com/questions/15374673
复制相似问题