在android中,如果单击一个按钮,我想要倒计时从30开始,倒计时到0.我创建了一个带有基本倒计时方法的代码,但问题是如果活动或应用程序关闭,它不会继续倒计时。
我想要做的是活动或只是倒计时在后台继续滴答,直到它达到0,它会将变量B更改为值1。
我已经从原始模型扩展,我可以比较从点击按钮+ 30秒到再次调用活动的日期时间。但到目前为止,我已经在比较android中的两个日期时间了。
任何帮助?
答案 0 :(得分:1)
您可能需要的是在后台运行的异步任务。类似的东西:
private class JohnnysPollTask extends AsyncTask<Integer, Void, Integer> {
/**
* The system calls this to perform work in a worker thread and delivers
* it the parameters given to AsyncTask.execute()
*/
protected Integer doInBackground(Integer... millis) {
try {
int waited = 0;
int duration = 30000;
while (waited < duration) {
Thread.sleep(1000);
waited += 1000;
if (waited>=duration) {
b=1;
break;
}
}
} catch (InterruptedException e) {
// do nothing
}
return 1;
}
答案 1 :(得分:0)
您可以尝试使用服务而不是活动。
答案 2 :(得分:0)
在service
内。