我想在Android ble中以编程方式读取连接参数。
Android的BluetoothGatt
类(从API 21开始)提供了以下三种模式来设置连接参数。
connection_priority_balenced 连接参数更新 - 使用蓝牙信号推荐的连接参数。
connection_priority_high 连接参数更新 - 请求高优先级,低延迟连接。
connection_priority_low_power 连接参数更新 - 请求低功率,降低数据速率连接参数。
这些已在此处详细讨论。
由于这些都没有给我我想要的连接间隔,因此尝试从外围的侧面执行连接更新。幸运的是,这似乎有效。发送连接更新后,我可以在logcat中看到:
D/BluetoothGattServer: onConnectionUpdated() - Device=XX:XX:XX:XX:XX:XX interval=1596 latency=0 timeout=512 status=0
D/BluetoothGatt: onConnectionUpdated() - Device=XX:XX:XX:XX:XX:XX interval=1596 latency=0 timeout=512 status=0
我不在乎Android设备选择的间隔,只要它在1000ms至2000ms之间。虽然很容易看到日志中发生这种变化,但我还没有找到一种以编程方式读取间隔值的方法。我想确保发生此更新,以免在外围浪费电池寿命。
no。但是,如果您可以从外围侧检测更新,则可以使用新参数发送通知。