BLE 设备在 cancelPeripheralConnection 后重新连接(如何忘记 BLE 设备?)

Posted

技术标签:

【中文标题】BLE 设备在 cancelPeripheralConnection 后重新连接(如何忘记 BLE 设备?)【英文标题】:BLE device re-connects after cancelPeripheralConnection (How to forget a BLE device?) 【发布时间】:2017-06-02 15:47:57 【问题描述】:

我有一个 BLE 设备,它通过相当标准的用户界面(点击 UITableView 中显示的设备条目)选择后连接到 ios 设备。

连接很简单——一些内部处理,然后调用 CBCentralManager 的 connectPeripheral(peripheral: options:)。

需要“忘记”设备(这样 iPhone 就不会再次自动连接到它)。我调用了 cancelPeripheralConnection(peripheral:),但设备仍会自动连接回手机。

调用cancelPeripheralConnection(peripheral:)方法后,如何阻止BLE设备自动重连?

【问题讨论】:

它是 HID 设备吗? 不,不是。设备上没有任何东西可以用来忘记外围设备上的关联。这能回答问题吗?谢谢! 【参考方案1】:

没有办法使用代码忘记设备。您必须手动转到设置并忘记设备。

当蓝牙打开或设备启动连接时,系统将自动连接到配对设备。你是在cancelPeripheralConnection 调用之后调用connect 吗?

【讨论】:

对不起,是的,我正在调用 cancelPeripheralConnection。我发现我必须把它放在while (peripheral.state == .connecting) 循环中,以确保设备下次不会连接!

以上是关于BLE 设备在 cancelPeripheralConnection 后重新连接(如何忘记 BLE 设备?)的主要内容,如果未能解决你的问题,请参考以下文章

android BLE Peripheral 手机模拟设备发出BLE广播 BluetoothLeAdvertiser

BLE 5 外围设备未在支持 BLE 5 的 Android 手机和 iPhone 上得到扫描

如何获取配对的 BLE 设备数量?

核心蓝牙:如果重新安装应用程序而没有在应用程序中正确断开BLE设备,则无法再次在应用程序中找到BLE设备

iOS如何在后台重新连接到BLE设备?

修改BLE设备名称