Ошибка ответа на индикацию 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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