如何在java中安排任务?

时间:2015-02-05 08:01:21

标签: java android scheduled-tasks

我想在从系统接收广播时列出一个硬盘文件(在我的情况下,它是android)。

问题是,当我收到广播时,这个硬盘可能没有做好充分的准备,所以当我读到这个硬盘的根文件时,它就不存在了。如果这个文件不存在,我需要延迟我的任务。

if (timerTask != null) return;
Timer timer = new Timer();
timerTask = new TimerTask() {
    @Override
    public void run() {
        File udisk = file;
        if (!udisk.exists) {
            // This file do not exist now, delay again
            // But how to delay again?
            return;
        }

        // This file has already well prepared, so let's read it
        // timerTask = null;
    }
};
timer.schedule(timerTask, 2000);

但我有两个问题:

  1. 如果根文件准备不充分,我怎么能再次延迟

  2. 如果我收到硬盘被删除的广播,我需要取消该任务。但是我们可能有多个硬盘,所以我可能需要有多个任务,所以当我取消任务时,我应该取消哪一个?

0 个答案:

没有答案