0

私は次のようなタイマーを使用しています:

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クラスは で設定されているように 50 秒後ではなく 1 秒で実行されscheduleAtFixedRateます。なんで?

Runnableの代わりに使用する方が良いTimerですか?

4

1 に答える 1

3

以下を使用する必要があります。

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

2 番目のパラメーターは、最初の実行までの遅延を指定します。3 番目のパラメーターは、後続の実行間の遅延を指定します。

于 2012-12-03T13:34:21.070 に答える