2012-03-15 3 views
1

Задача таймера не ждет запланированного отложенного времени. Я хочу задержать проверку сети на 10 секунд, но она выполняет действие в течение нескольких секунд без ожидания. Любая помощь будет оценена.Android Timer Task не ждет запланированного отложенного времени

int i = 0; 
public void timertask() 
    { 

     while(i < 5){ 

     Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
       public void run() { 
       if(isNetworkConnected()) // Some method to check net connection 
       { 
        download(); //Method to download 
       } 
      } 
     }, 10000); 

     System.out.println("i = "+i); 
     i++; 
     } 

    } 

ответ

1

попробуйте этот.

TimerTask doAsynchronousTask; 
    final Handler handler = new Handler(); 
    Timer timer = new Timer(); 

    doAsynchronousTask = new TimerTask() { 

     @Override 
     public void run() { 

      handler.post(new Runnable() { 
       public void run() { 
        if(isOnline){// check net connection 
        download(); //Method to download 
        } 

       } 
      }); 

     } 

    }; 

    timer.schedule(doAsynchronousTask, 0, 10000);// execute in every 10 s 
+0

Спасибо @kaluwila. Этот фрагмент кода работает для меня. –

Смежные вопросы