在我的游戏中,我有一个倒数计时器,当我按下主页按钮离开游戏时,计时器继续,当它达到0时我的游戏重新开启,导致时间到了,我得到一些信息屏幕时间到了。至少在我按下主页按钮时如何杀死计时器?我试过这个,但它没有工作:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
timer.cancel();
return true;
}
return super.onKeyDown(keyCode, event);
}
答案 0 :(得分:1)
覆盖Activity onUserLeaveHint()
来自javadoc的方法描述:
当活动即将到来时,被称为活动生命周期的一部分 作为用户选择的结果进入后台。例如,何时 用户按下Home键
以上解决方案适用于HOME按钮就好了。但是,请考虑覆盖onPause()
的{{1}}方法并在那里取消计时器。这样,只要游戏暂停,您就会取消计时器。除非您将HOME视为特例,否则请按照我的第一部分答案。