Нативный модуль падает при передаче данных во Flutter из фонового потока
Android-часть плагина читает данные с весов по Bluetooth в пуле потоков и сразу передаёт их во Flutter:
executor.execute {
val weight = scale.readWeight()
channel.invokeMethod("weight", weight)
}
Приложение падает с исключением Methods marked with @UiThread must be executed on the main thread. Что сделать?
- Отправлять вызов в главный поток через Handler
- Обернуть invokeMethod в блок synchronized
- Вызывать invokeMethod из нового Thread
- Перейти с MethodChannel на BasicMessageChannel
