Android Timer Task не ожидает запланированного времени задержки - PullRequest
1 голос
/ 15 марта 2012

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

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 Ответ

1 голос
/ 15 марта 2012

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

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
...