2014-01-17 5 views
0

Мне нужно приостановить выполнение программы, пока один из моих действий не появится поверх стека действий.Android: дождитесь, пока активность вернется

Этот код не работает. Как подключить обработчик к фоновому потоку?

public void pauseUntilOnTop() 
    { 
     if(!isTopActivity()) 
     { 
      Thread worker = new Thread(runWaitTop); 
      worker.start();   

      synchronized(instance) 
      { 
       try 
       { 
        // Calling wait() will block this thread until another thread 
        // calls notify() on the object. 
        instance.wait(); 
       } 
       catch (InterruptedException e) 
       { 
       } 
      } 
     } 
    } 

ответ

0

Использовать методы жизненного цикла деятельности.

Метод onResume - хороший старт: он вызывается, когда действие готово и может принимать пользовательские действия.

Следует обратить внимание, что методы жизненного цикла активации всегда имеют аналог дезактивации, например. для onResume, и их можно вызвать более одного раза.

Btw изучает темы, такие как Services, AsyncTask и Loader и посмотреть, соответствуют ли они вашим потребностям, а не использовать API нисходящего потока. Также существует множество API более высокого уровня для пакета android.os для решения общих сценариев Android.

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