Android。如何知道大块(蓝牙)的允许大小?

问题描述 投票:0回答:1

我通过蓝牙将数据发送到另一台设备。

 val writeCharacteristic = service.getCharacteristic(WRITE_CHARACTERISTIC_UUID)
 writeCharacteristic.value = data.toByteArray()
 val isSendSuccessful = bluetoothGatt.writeCharacteristic(writeCharacteristic)

但是如果我尝试发送太长的字节数组,那么它将不起作用。因此,我将其分成几块并发送。我需要知道当前设备允许的块大小(我认为不同设备的大小可能不同)。我该怎么办?

java android kotlin bluetooth stream
1个回答
0
投票

默认有效负载大小为20字节。在Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP上,您可以要求设备提供最大尺寸,并提供自己的最大尺寸gatt.requestMtu(MAX_MTU),您会在public void onMtuChanged(BluetoothGatt gatt, int mtu, int status)回调中获得答案,例如与here一样。

© www.soinside.com 2019 - 2024. All rights reserved.