0


我正在尝试开发一个应用程序,通过 BLE 连接到我来自德克萨斯州的 CC2650 传感器标签。
我可以使用 GATT 协议连接到我的标签,问题是如果我连接时连接失败,它不会恢复。但是,如果我将手机重新连接到设备并重复该过程(关闭并打开标签),它会自动重新连接到手机。
我只是不明白第一个行为和重新连接后的行为之间的区别......
知道吗?
亚历克斯

4

1 回答 1

0

应该更好地记录 Android。无论如何,这里是解释:

当您在 autoConnect 设置为 false 的情况下调用 connectGatt(https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback))时,这将仅与设备建立一次性连接。当它断开连接时,它不会重新连接。

当您改为使用 BluetoothGatt 对象上的 .connect() 方法进行连接时,这与关闭当前 BluetoothGatt 对象然后再次使用 connectGatt 连接并将 autoConnect 参数设置为 true 相同。

当 autoConnect 参数设置为 true 时,这意味着您希望设备永远保持连接,即无论出于何种原因断开连接,Android 都会尝试重新连接到设备。

您可以在此处查看我的 autoConnect 差异列表:https ://stackoverflow.com/a/40187086/556495 。

于 2017-10-09T16:34:47.960 回答