2012-03-15 7 views
1

タイマータスクはスケジュールされた遅延時間を待機しません。 私はネットワークチェックを10秒遅らせたいと思っていますが、待たずに数秒以内にアクションを実行します。Androidタイマータスクはスケジュールされた遅延時間を待機しません

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。これらのコードスニペットは私のために働きます。 –

関連する問題