timer.scheduleAtFixedRate在延迟一段时间后执行

时间:2012-12-03 13:31:30

标签: android

我正在使用计时器,如:

Timer timer = new Timer();
timer.scheduleAtFixedRate(new CheckWifi(), 0, 50000); // 5 seconds

class Wifi extends BroadcastReceiver {

 protected class CheckWifi extends TimerTask {

        @Override
        public void run() {
        }
 }

但是CheckWifi类在一秒钟内执行,而不是像scheduleAtFixedRate中设置的那样在50秒之后执行。为什么呢?

使用Runnable代替Timer是否更好?

1 个答案:

答案 0 :(得分:3)

你必须使用:

timer.scheduleAtFixedRate(new CheckWifi(), 50000, 50000);

第二个参数指定第一次执行之前的延迟。 第三个参数指定后续执行之间的延迟。