Функция Android Sleep / Wait / Delay

Прежде всего, я новичок в мире Android, поэтому, пожалуйста, извините меня, если это глупый вопрос ..

Я пытаюсь сделать следующее:

Включить мобильные данные
Подождите 10 секунд
а. проверьте, есть ли у Mobile IP-адрес (данные подключены успешно)
б. если не подключен, отключить данные
с. Перейти к шагу 1

И эти шаги с 1 по 3 выполняются в цикле For для заданного пользователем количества попыток.

Теперь моя проблема: я застрял на шаге № 2.
Я не могу сделатьwaitfor(int seconds) функция. Я попытался использовать метод Runnable PostDelayed, но он не дает мне требуемого вывода.

for(retry = UserChoice; retry > 0 && !isDataAvailable ; retry -- ){
     enableInternet()
     delay(10)
     isDataAvailable = GetInternetAvailibility()
     if(!isDataAvailable){ 
         disableInternet()
     }
}

Я пытался поставитьisDataAvailable = GetInternetAvailibility() заявление вpostDelayed обработчик, но это вызываетenableInternet() disableInternet() выполнять одновременноisDataAvailable = GetInternetAvailibility() выполняется после задержки.

Из логов видно, чтоenableInternet() выполняет дляUserChoice количество раз без каких-либо задержек.

Thread.sleep (10000) просто замораживает интерфейс на 10 секунд ... Как мне этого добиться?

РЕДАКТИРОВАТЬ: Позвольте мне прояснить:

public void onClick(View v) {
     // Perform action on click
    for(i=0; i<3; i++ ){
        System.out.println("Before..");
        delay(5);
        System.out.println("after..");
    }
}

public void delay(int seconds){
    milliseconds = seconds * 1000;
    runOnUiThread(new Runnable() {
             @Override
             public void run() {
                  final Handler handler = new Handler();
                  handler.postDelayed(new Runnable() {
                       @Override
                       public void run() {
                           System.out.println("XXX");                 //add your code here
                       }
                  }, milliseconds);
             }
      });
}

Теперь, когда я нажимаю кнопку, я вижу в журналах, что System.out печатает сообщение как:

До
после
До
после
До
после
XXX
XXX
XXX

Но я хочу:
До
XXX
После.
До
XXX
После.
До
XXX
После.

Ответы на вопрос(4)

Ваш ответ на вопрос