我的应用程序将连接到蓝牙LE设备.通常使用执行设备扫描mBluetoothAdapter.startLeScan(mLeScanCallback);.回调为您提供有关可用设备的信息.
如果你想连接到专用设备,你会做类似的事情
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
Run Code Online (Sandbox Code Playgroud)
然后
mBluetoothGatt = device.connectGatt(this, false, mGattCallback);
Run Code Online (Sandbox Code Playgroud)
对我而言,连接到BLE设备所需的唯一事情就是知道BLE地址,然后通过上述两个步骤连接到它.因此,如果我已经知道BLE地址(例如,它写在BLE设备的标签上),我不需要执行BLE扫描.
但我遇到的是,如果我有一个以前从未通过BLE扫描找到的BLE设备,则无法使用其BLE地址直接连接到它.我必须通过我的Android手机扫描至少一次才能找到它.之后我再也不需要扫描了,只需使用其BLE地址即可连接到BLE设备.
它应该是这样的还是我监督的东西?
非常感谢,Stefan