Я обновляю пользовательский интерфейс действия из BroadcastReceiver, который я регистрирую в том же действии. Документы API говорят:
[...] Функция [onReceive ()] обычно вызывается в основном потоке
его процесса [...]
так что я полагаю, что обновление пользовательского интерфейса в порядке.
В документах также сказано:
[...] вы никогда не должны выполнять в нем длительные операции (есть
тайм-аут 10 секунд [...]
Я просто устанавливаю некоторый текст в TextView, так что я полагаю, что это не займет больше 10 секунд.
Но, и вот, наконец, мой актуальный вопрос: имеет ли смысл вообще добавлять Runnable в очередь сообщений основного потока, используя Handler, чтобы onReceive () мог вернуться немедленно, а обновление пользовательского интерфейса произойдет позже. момент времени, как предполагают документы:
Существует два основных способа использования обработчика: (1) для планирования сообщений и
выполняемые объекты, которые должны быть выполнены как некая точка в будущем; [...]