Ошибка ответа на индикацию Android BLEAndroid

Форум для тех, кто программирует под Android
Anonymous
Ошибка ответа на индикацию Android BLE

Сообщение Anonymous »

Я создал приложение Android, которое подключается к периферийному устройству через BLE.
Удаленное устройство в конечном итоге отправляет индикацию, которую я обрабатываю в onCharacteristicChanged и отправляю последующую команду через gatt.writeCharacteristic из обратного вызова.
Код выглядит примерно так:

Код: Выделить всё

override fun onCharacteristicChanged(gatt: BluetoothGatt, ...) {
gatt.writeCharacteristic(...) # this sometimes returns 201
}
Проблема в том, что writeCharacteristic иногда возвращает 201, что, вероятно, указывает на то, что стек BLE занят другой операцией.
Это имеет смысл, поскольку стек BLE находится в процессе отправки подтверждения индикации обратно на периферийное устройство.
Мой вопрос: как я могу определить, когда стек BLE снова освободится, и я смогу отправить еще один пакет?
Я не нашел обратного вызова, чтобы определить, когда индикация была успешно подтверждена...

Подробнее здесь: https://stackoverflow.com/questions/798 ... onse-fails

Вернуться в «Android»