我已经将外围设备ble设备(iPhone)与Android手机配对。现在,我想从我的Android代码连接到此iPhone。
我收到了mBluetoothAdapter.getBondedDevices()
配对的设备列表,并尝试连接到正确的设备,但连接失败(GATT_ERROR
)。
我知道mac地址是随机的,但另一方面,这部iPhone已配对,并且我有权连接它。我可以这样做吗?
在蓝牙低功耗中,配对和绑定是两个不同的事物,如下所示:-
在您的情况下,如果设备是“配对”的,则意味着它们已经处于活动连接中(这与传统蓝牙不同,传统蓝牙中的连接和配对是互斥的)。如果是这种情况,请尝试列出活动连接以确保iPhone不是其中之一。
如果您是“绑定”而不配对的,则意味着没有活动的连接,需要创建另一个连接。您将需要确保外围设备在做广告,并且Android设备可以对其进行扫描和检测。一旦通过扫描检测到它,请连接到iPhone,这应该可以正常工作。
这可能是有用的参考:-
Should one create a bond with a Bluetooth LE device
我希望这会有所帮助。