如何从Android连接到配对的ble设备?

问题描述 投票:0回答:1

我已经将外围设备ble设备(iPhone)与Android手机配对。现在,我想从我的Android代码连接到此iPhone。

我收到了mBluetoothAdapter.getBondedDevices()配对的设备列表,并尝试连接到正确的设备,但连接失败(GATT_ERROR)。

我知道mac地址是随机的,但另一方面,这部iPhone已配对,并且我有权连接它。我可以这样做吗?

android bluetooth-lowenergy mac-address pairing
1个回答
0
投票

在蓝牙低功耗中,配对和绑定是两个不同的事物,如下所示:-

  • Pairing是加密连接并交换安全信息的过程。
  • Bonding是保存交换的安全信息,以便正确检测设备(如果设备具有随机地址)并可以立即与之配对而无需进一步交换信息的过程。

在您的情况下,如果设备是“配对”的,则意味着它们已经处于活动连接中(这与传统蓝牙不同,传统蓝牙中的连接和配对是互斥的)。如果是这种情况,请尝试列出活动连接以确保iPhone不是其中之一。

如果您是“绑定”而不配对的,则意味着没有活动的连接,需要创建另一个连接。您将需要确保外围设备在做广告,并且Android设备可以对其进行扫描和检测。一旦通过扫描检测到它,请连接到iPhone,这应该可以正常工作。

这可能是有用的参考:-

Should one create a bond with a Bluetooth LE device

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.