BluetoothGattServer.sendResponse中的数据长度不能超过20个字节。 (蓝牙)

The data length in BluetoothGattServer.sendResponse can't exceed 20 bytes. (BLE)

我已经基于g-ortuno的工作在Nexus 6上尝试了BLE GATT Peripheral 运行,它工作正常,但是sendResponse方法不能发送大于20字节的数据。 并发现 writeCharacteristic 有同样的问题,它的 answer 对我不起作用。有没有人遇到同样的问题并且知道可能的解决方案?谢谢

发送大于20字节的数据,需要更改MTU-exchange。

到APILEVEL 21,可以使用requestMtu,它和外围设备协商,你可以定义到512字节。

MTU值定义在外设端。请记住,您可以发送的数据大小是 MTU-3 字节。

对于API小于21的LEVEL,MTU是预定义的,不能修改。