如何创建一个停止和等待的倒数计时器"屏幕关闭时,重新开启时恢复。
就像标题所说的那样,如何设置Android Studio中的基本倒计时器,当用户关闭手机时(屏幕关闭)停止,并在屏幕重新开启时重新启动。仍然是一个完整的菜鸟,我只需要基本的代码,并且这样做。
由于
我已经有了一个基本界面...
答案 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