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;
    }
}
发布了287 篇原创文章 · 获赞 44 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/mqdxiaoxiao/article/details/103714102