Android 14 MTU 可从 517 字节更改为 23 字节?

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

Android 14 对默认蓝牙 MTU 大小进行了重大更改,这破坏了我们的蓝牙设备固件。以前设置为 23 字节,但现在设置为 517 字节。 MTU 可以协商为更低的值吗?据推测,这将是在连接时刻(onConnectionStateChange,连接状态)。我尝试使用函数 requestMtu(Int) 协商更改 MTU 大小,但没有成功。

gatt mtu
1个回答
0
投票

正如您在问题中所描述的,BluetoothGatt 自 API 21 起提供了 requestMtu 方法:

public boolean requestMtu (int mtu)

请求用于给定连接的 MTU 大小。

执行写请求操作时(写无响应), 发送的数据被截断为 MTU 大小。这个功能可以用 请求更大的 MTU 大小以便能够一次发送更多数据。

其他 StackOverflow 答案都提到了此方法调用 需要一些技巧,例如使用多次尝试并注意其他方法(如

discoverServices
)的调用顺序。

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