【问题标题】:How to cancel CountDown Timer when home button is pressed?按下主页按钮时如何取消倒数计时器?
【发布时间】:2014-08-17 20:40:11
【问题描述】:

在我的游戏中,我有一个倒数计时器,当我按下主页按钮并离开游戏时,计时器会继续计时,当它达到 0 时我的游戏会重新开始,因为时间到了,我会看到一些信息屏幕时间到了。至少当我按下主页按钮时如何杀死计时器?我试过了,但没有用:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if(keyCode == KeyEvent.KEYCODE_HOME)
        {
            timer.cancel();

            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

【问题讨论】:

  • 如果 onKeyDown 事件先起作用,请尝试记录。

标签: java android


【解决方案1】:

覆盖Activity onUserLeaveHint()

来自 javadoc 的方法描述:

在活动即将开始时作为活动生命周期的一部分调用 作为用户选择的结果进入后台。例如,当 用户按下 Home 键


上述解决方案适用于 HOME 按钮就好了。但是,请考虑覆盖 ActivityonPause() 方法并在那里取消计时器。这样,您将在游戏暂停时取消计时器。除非您将 HOME 视为特殊情况,否则请按照我的第一部分回答。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多