我的应用程序将连接到一个蓝牙低功耗设备。通常使用 mBluetoothAdapter.startLeScan(mLeScanCallback);
进行设备扫描,回调提供有关可用设备的信息。
如果您想连接到特定设备,可以执行以下操作:
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
然后
mBluetoothGatt = device.connectGatt(this, false, mGattCallback);
对我来说,似乎唯一需要连接到BLE设备的是要知道其BLE地址,然后使用上述两个步骤连接。因此,如果我已经知道一个BLE地址(例如,它写在BLE设备的标签上),我就不需要执行BLE扫描。但是我遇到的问题是,如果我有一个从未通过BLE扫描找到过的BLE设备,则无法直接使用其BLE地址进行连接。我必须通过我的Android手机进行至少一次扫描才能找到它。之后,我再也不需要扫描,只需使用其BLE地址即可连接到BLE设备。
这是否应该是这样的,还是我错过了什么?
非常感谢, Stefan