Попробуйте поместить Log.d()
в тело run()
, чтобы убедиться, что поток туда попал, и вы можете исключить, что ошибка в обработке метода sendMessage()
. Затем:
Запускает указанное действие в потоке пользовательского интерфейса. Если текущий поток является потоком пользовательского интерфейса, то действие выполняется немедленно. Если текущий поток не является потоком пользовательского интерфейса, действие публикуется в очередь событий потока пользовательского интерфейса.
Handler()
и runOnUiThread()
могут выполнять операции с пользовательским интерфейсом потока, но runOnUiThread()
только выполняет процесс из потока, и, кроме того, должна быть передана ссылка на действие, в котором он выполняется.
runOnUiThread(new Runnable() {
public void run() {
//...
}
});
GL
Источник