奇怪的BLE行为Android

时间:2017-10-09 12:25:51

标签: bluetooth-lowenergy gatt bluetooth-gatt


我正在尝试开发一个通过BLE连接到德克萨斯州CC2650传感器标签的应用程序 我能够使用GATT协议连接到我的标签,问题是,如果我连接时连接失败,则无法恢复。但是,如果我将手机重新连接到设备并重复此过程(关闭并打开标签),它会自动重新连接到手机。
我只是不理解第一个行为和重新连接后的行为之间的区别...... 有什么想法?
亚历

1 个答案:

答案 0 :(得分: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