【问题标题】:How to connect to paired ble device from Android?如何从 Android 连接到配对的 ble 设备?
【发布时间】:2020-01-29 13:42:38
【问题描述】:

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

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

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

【问题讨论】:

    标签: android bluetooth-lowenergy mac-address pairing


    【解决方案1】:

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

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

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

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

    这可能是一个有用的参考:-

    Should one create a bond with a Bluetooth LE device

    我希望这会有所帮助。

    【讨论】:

    • 那么,如果没有活动连接并且 iPhone 没有广告,就没有办法连接到 iPhone 吗?那么Amazfit手表是如何连接iPhone的呢?
    • 这是一个标准的BLE东西,要连接,你必须先做广告。有关更多信息,请参阅:stackoverflow.com/questions/57969346/…
    • 但是你也可以反过来。让 Android 做广告并拥有一个可以扫描并连接到 Android 的 iPhone 应用。
    • 使用 ios 上的自定义应用程序我解决了这个问题。但不幸的是,当这个应用程序进入后台时,android 无法再连接到 ios。这是我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 2023-04-03
    • 2016-05-25
    • 2022-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多