2016-05-24 4 views
0

После загрузки первого действия мое приложение сразу же начинает загрузку некоторых файлов в фоновом режиме (для этого я использую new Thread()).Проверка завершения фонового потока Android

В первом действии есть кнопка, которая открывает второе действие. Для второго действия очень важно, чтобы загрузка фона была завершена.

Моя задача:

Если пользователь нажимает на кнопку в то время как фон загрузки еще не завершена, то приложение должно ждать и не открыть вторую деятельность. Он должен показывать сообщение, например «Подождите».
Если в течение XX секунд после нажатия кнопки «загрузка» еще не закончена, появляется другое сообщение (с кнопкой «ОК»): «У вас слишком медленное соединение».

+0

Правильный способ сделать это с помощью обработчика. Обработчик в потоке пользовательского интерфейса может обрабатывать сообщения, передаваемые через отдельные потоки. Создайте свой поток и убедитесь, что он имеет ссылку на ваш обработчик. Когда загрузка закончена, отправьте сообщение обработчику, используя его ссылку. Посмотрите документацию по этому вопросу. –

ответ

0

вы можете проверить с помощью

Thread myThread; //your thread that is downloading thigns 
if(myThread.isAlive()) 
{ 
    //do what you want here 
} 
1

Попросите нить транслировать «заполненный» действие на основной поток и копить этот результат. Затем в потоке пользовательского интерфейса вы можете проверить эту переменную, чтобы продолжить.

0

Для этого вам необходимо использовать AsyncTask. Использование методов переопределения.

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