我想用某种方式在Android BLE中以编程方式读取连接参数。
Android的BluetoothGatt
类,从API 21开始,提供了这三种模式来设置连接参数。
CONNECTION_PRIORITY_BALANCED 连接参数更新 - 使用Bluetooth SIG推荐的连接参数。
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设备选择的间隔,只要它在1000毫秒到2000毫秒之间。虽然很容易看到日志中发生了这种变化,但我还没有找到一种以编程方式读取间隔值的方法。我想确保发生这种更新,以免我在外围设备上浪费电池寿命。
答案 0 :(得分:1)
没有。但是,如果您可以从外围设备侧检测到更新,则可以使用新参数向中央发送通知。