我正在使用计时器,如:
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
是否更好?
答案 0 :(得分:3)
你必须使用:
timer.scheduleAtFixedRate(new CheckWifi(), 50000, 50000);
第二个参数指定第一次执行之前的延迟。 第三个参数指定后续执行之间的延迟。