Длина данных в BluetoothGattServer.sendResponse не может превышать 20 байт. (БЛЕ)

Я попробовал периферийное устройство BLE GATT, работающее на Nexus 6, на основе работы g-ortuno, и он работает нормально, но метод sendResponse не может отправлять данные размером более 20 байт. И обнаружил ту же проблему для writeCharacteristic, ее ответ у меня не работает. Кто-нибудь сталкивается с той же проблемой и знает возможное решение для этого? Спасибо.


person jason.chuang    schedule 11.08.2015    source источник


Ответы (1)


Для отправки данных размером более 20 байт необходимо изменить MTU-обмен.

Для уровня API 21 вы можете использовать requestMtu, он согласовывается с периферийным устройством, и вы можете определить до 512 байт.

Значение MTU определяется на периферийной стороне. Помните, что размер данных, которые вы можете отправить, составляет MTU-3 байта.

Для УРОВНЯ API меньше 21 значение MTU предопределено и не может быть изменено.

person Mr Robot    schedule 11.08.2015