2012-12-03 4 views
0

후 초 실행된다 :timer.scheduleAtFixedRate가없는 내가 좋아하는 타이머를 사용하고, 지연 시간

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초 등 scheduleAtFixedRate 설정된 후에 두 번째 실행된다. 왜?

Runnable 대신 Timer을 사용하는 것이 더 좋습니까?

+0

또는이 대답 에서처럼 타이머를 교체하십시오. http://stackoverflow.com/a/8027888/1315476 – htz

+0

설명서를 읽고 '0'의 의미에 대해 질문하십시오. – njzk2

+0

@njzk. 내 실수 – senzacionale

답변

3

당신은 사용해야합니다 :

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

두 번째 매개 변수는 첫 번째 실행하기 전에 지연 시간을 지정합니다. 세 번째 매개 변수는 후속 실행 사이의 지연을 지정합니다.

+0

빠른 도움에 감사드립니다. – senzacionale