在android中,如果单击一个按钮,我希望倒数从30开始倒数到0。我用基本的倒数方法创建了一个代码,但是问题是如果活动或应用程序关闭,它不会继续倒数。
我想要做的是让活动或只是倒数计时继续在后台滴答作响,直到它达到0,然后它将变量B更改为1。
我从原来的模型中得到了扩展,认为我可以比较从单击按钮的时间+ 30秒到再次调用该活动的日期时间。但是到目前为止,我在比较两个android中的日期时间时遇到了麻烦。
有什么帮助吗?
最佳答案
您可能想要的是一个异步任务在后台运行。就像是:
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;
}