【问题标题】:Android. How to know permissible size of chunks (Bluetooth)?安卓。如何知道允许的块大小(蓝牙)?
【发布时间】:2020-09-05 16:12:39
【问题描述】:

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

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

但如果我试图发送太长的字节数组,那么它就不起作用。所以,我把它分成几块并发送给他们。我需要知道当前设备允许的块大小(我认为不同设备的大小可能不同)。我该怎么做?

【问题讨论】:

    标签: java android kotlin bluetooth stream


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 1970-01-01
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      相关资源
      最近更新 更多