Android Handler.postDelayed实现定时任务
直接上代码,原理就是在任务结束后一段时间再次开启下一次任务,不断循环实现定时器
private Handler handler = new Handler();
private Runnable task;
private int delay = 1000;
// 开启定时任务
private void startTask() {
stopTask();
handler.postDelayed(task = new Runnable() {
@Override
public void run() {
// 在这里执行具体的任务
Log.d("HandlerTask", "run");
// 任务执行完后再次调用postDelayed开启下一次任务
handler.postDelayed(this, delay);
}
}, delay);
}
// 停止定时任务
private void stopTask() {
if (task != null) {
handler.removeCallbacks(task);
task = null;
}
}