在BLE的连接设备方法中使用autoconnect标志有什么用处

时间:2018-02-06 09:12:12

标签: android bluetooth bluetooth-lowenergy

我正在尝试将我的Android设备连接到BLE设备。我使用以下代码来完成它。

 mBluetoothGatt = mDevice.connectGatt(BaseApplication.getContext(), true, getInstance());

您可以将第二个参数视为true。在docs中,它被称为autoconnect标志。我可以保持真实和虚假。那面旗帜的用途是什么?我所观察到的只有当我使用autoconnect为true时它确实连接但是有延迟,如果我使用false它不会每次连接,有时它会连接,有时则不连接。 另外我想知道这是每次连接已保存设备的正确方法吗?或者只是在第一次扫描之后还有其他方法可以做到吗?   谢谢:))

2 个答案:

答案 0 :(得分:0)

  

您可以将第二个参数视为true。在docs中,它被称为   自动连接标志。我可以保持真实和虚假。有什么用?   那面旗帜?

只要您的远程设备可见,它就会自动连接,如果是的话。

  

另外我想知道这是连接已保存的正确方法   设备每次?

连接保存设备的最佳方法您需要将设备的蓝牙设备地址(AB:CD:EF:01:02:03)存储在例如共享首选项或sqlite数据库中。然后在稍后重新启动应用程序以检索BluetoothDevice对象时使用https://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#getRemoteDevice(java.lang.String)。获得BluetoothDevice对象后,您可以照常使用connectGatt方法。

答案 1 :(得分:0)

大多数问题已在Which correct flag of autoConnect in connectGatt of BLE?中得到解答。

关于第二个问题,请参阅Android save BLE device to reconnect after app close