我想用某种方式在Android中以编程方式读取连接参数。
从API 21开始,安卓的BluetoothGatt类提供了这三种模式来设置连接参数。
CONNECTION_PRIORITY_BALANCED连接参数更新-使用蓝牙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毫秒之间。虽然很容易在日志中看到这种更改,但我还没有找到一种通过编程读取区间值的方法。我想确保这个更新发生,这样我就不会浪费我的外围设备的电池寿命。
发布于 2017-11-29 19:25:19
不是的。但是,如果您可以从外围端检测到更新,那么您可以向中心发送带有新参数的通知。
https://stackoverflow.com/questions/47559668
复制相似问题