我需要在倒数计时上创建一个无限循环,代码如下:
public void countdown() {
if (x != null) {
x.cancel();
}
x = new CountDownTimer(20000, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
showNotification();
}
};
x.start();
}
X 只是一个静态countdowntimer变量,当 countdown结束时,它显示通知,应该重新启动,如何实现?
您可以在onFinish()方法中再次调用countdown()方法来实现循环。如下所示:
public void onFinish() {
showNotification();
countdown();
}
这样,每当countdown结束时,它将重新启动并再次显示通知。
需要注意的是:
使用无限循环,会导致程序的内存占用可能会逐渐增加,可能会导致程序崩溃。如果这个通知是一个长时间运行的任务,那么建议使用其他方式如后台服务,这样更好管理。