Обработка сообщений строго связана с Android . Но на самом деле вы не хотите отправлять сообщение обработчику. На самом деле вы запускаете код только в этом потоке. Поэтому вместо того, чтобы использовать сообщения, которые вы делаете, вам нужно просто позвонить post(Runnable)
:
val uiThreadHandler = Handler(Looper.getMainLooper())
uiThreadHandler.post {
...
}
Чтобы абстрагироваться еще дальше, вы можете использовать Kotlin Coroutines с расширением Android для Dispatchers.Main
:
GlobalScrope.launch(Dispatchers.Main) {
...
}
Блок будет запланирован в главном потоке Android . Если вы ничего не приостанавливаете в самом блоке, что может быть связано с тем, что вы сейчас не используете Сопрограммы , вам, возможно, не придется беспокоиться об отмене Job
возвращается с launch
.