BLE: невозможно изменить представление onConnectionStateChange из BluetoothGattCallback - PullRequest
0 голосов
/ 10 октября 2019

Я хочу установить связь между моим модулем HM-10 (BLE) и моим приложением для Android. Когда приложение запускается, инициируется подключение к Интернету и открывается диалоговое окно, в котором отображается текущее состояние подключения.

В моем BluetoothGattCallback корректно запускается onConnectionStateChange, однако при попытке обновить состояние в диалоговом окне (изображение и текстовое представление), ничего не происходит. Тосты тоже не отображаются ..

Я открываю соединение следующим образом (из основного потока, не в сервисе или чем-либо еще):

    public void connect(Context context, BluetoothCallback callback) {
        gatt = device.connectGatt(context, false, callback);
    }

Является ли обратный вызов onConnectionStateChangeвсе еще работает в другой теме, может быть? Надеюсь, кто-нибудь может мне помочь.

Заранее спасибо.

1 Ответ

0 голосов
/ 10 октября 2019

Да. Обратные вызовы Bluetooth по умолчанию отправляются из потока Binder. Вы не можете изменять пользовательский интерфейс из потоков Binder.

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