Вступить в клуб →
сложнаявопросFlutter и Dart: виджеты, рендер и асинхронность

Нативный модуль падает при передаче данных во 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

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела