我通过蓝牙将数据发送到另一台设备。
val writeCharacteristic = service.getCharacteristic(WRITE_CHARACTERISTIC_UUID)
writeCharacteristic.value = data.toByteArray()
val isSendSuccessful = bluetoothGatt.writeCharacteristic(writeCharacteristic)
但是如果我尝试发送太长的字节数组,那么它就不起作用。因此,我将其分成一些 block 并发送。我需要知道当前设备允许的 block 大小(我认为不同设备的大小可能不同)。我该怎么做?
最佳答案
默认负载大小为 20 字节。
在 Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
上,您可以询问设备的最大尺寸,并提供您自己的最大尺寸
gatt.requestMtu(MAX_MTU)
并且您可以在 public void onMtuChanged(BluetoothGatt gatt, int mtu, int status)
回调中得到答案,例如使用时here .
关于java - 安卓。如何知道允许的 block 大小(蓝牙)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61893716/