如何创建一个停止和等待的倒数计时器"屏幕关闭时,重新开启时恢复。 Android的

时间:2016-01-24 15:34:58

标签: android android-studio timer screen countdown

如何创建一个停止和等待的倒数计时器"屏幕关闭时,重新开启时恢复。

就像标题所说的那样,如何设置Android Studio中的基本倒计时器,当用户关闭手机时(屏幕关闭)停止,并在屏幕重新开启时重新启动。仍然是一个完整的菜鸟,我只需要基本的代码,并且这样做。

由于

我已经有了一个基本界面...

2 个答案:

答案 0 :(得分:0)

使用带有Runnable的Handler,每秒调用一次。

Handler handler = new Handler();
int countdown = 300; // set countdown value in seconds
Runnable countdownRunnable = new Runnable() {
    @Override
    public void run() {
        countdown--;

        if(countdown == 0) {
            // countdown finished
        } else {
            handler.postDelayed(this, 1000);
        }
    }
}

首先,使用handler.post(countdownRunnable)开始倒计时。在活动/片段onStop()中,使用handler.removeCallbacks(countdownRunnable);从处理程序中删除runnable,然后使用onStart()handler.post(countdownRunnable)中重新添​​加。

另外,不要忘记保存和恢复状态(当前倒计时值)。

答案 1 :(得分:0)

正如Nacho L.回答Stackoverflow 对于屏幕开关状态,您可以尝试使用ACTION_SCREEN_ON和ACTION_SCREEN_OFF意图,如以下博文中所示:[http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/ 2