У меня есть задача, которая должна выполняться регулярно, каждые несколько секунд, в фоновом режиме. Поэтому я использую m_Handler.postDelayed
(не AsyncTask
). Каждый раз, когда задача завершается, он снова выключается с другим вызовом postDelayed для повторного запуска через несколько секунд. Исправьте меня, если я ошибаюсь, но я не думал, что можно вызывать AsyncTask
через регулярные промежутки времени.Работник Android обнаруживает состояние закрытия операции
Проблема в том, что моя фоновая задача может обнаружить условие, при котором я хочу, чтобы поток пользовательского интерфейса моей активности вызывал setResult
, а затем finish()
. Другими словами, я хочу, чтобы мой рабочий поток мог сообщить потоку пользовательского интерфейса о прекращении действия.
Есть ли способ для рабочего потока как это сигнализировать потоку пользовательского интерфейса, чтобы что-то сделать? В качестве альтернативы, существует ли способ вызывать AsyncTask
через равные промежутки времени? Каков наилучший способ запустить обычную задачу, которая может потребовать закрытия операции?
Спасибо Стиву за разъяснение этого и развенчание моего заблуждения. Думаю, теперь я могу найти жизнеспособный дизайн. –