Как записать данные BLE в отложенном потоке? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть работающее приложение для Android, которое записывает список строк в низкоэнергетический Bluetooth-сканер с задержкой между каждой записью.Каждый элемент в списке записывается в обратный вызов Bluetooth onCharacteristicWrite (), а затем поток переводится в спящий режим.Задержка приводит к тому, что поток пользовательского интерфейса приложения перестает отвечать на запросы.Я попытался записать каждый элемент в отдельном потоке с задержкой, но оказалось, что onCharacteristicWrite () не запускается в отложенном потоке.Есть ли способ принудительной записи BLE в другой поток, который можно отложить, чтобы пользовательский интерфейс не пострадал?

1 Ответ

0 голосов
/ 26 июня 2018

Я решил эту проблему, написав фоновый поток, который удаляет каждый элемент для отправки из списка;отправляет его;задерживает время чтения, а затем зацикливается, ожидая завершения отправки.onCharacteristicWrite () помечает отправку как завершенную, и когда фоновый поток получает уведомление, он отправляет следующее.Работает красиво.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...