我已经上下查找过这个问题,但似乎没有人遇到这个问题。
我有两台 iPad。其中一个充当始终位于前台的蓝牙外设。由于我对中央侧更感兴趣,因此我将中央 iPad 背景设置为支持 BLE-central。我的工作流程如下:
- 中央应用程序运行并开始扫描
- 外围设备广告服务(或在范围内)
- 中央设备连接到外围设备并停止扫描
- 外设停止广告(或离开范围)
- 中央设备断开连接并开始扫描
- 无论中心是在前台还是后台,都无缝执行步骤 1-5
当我运行我的中央 iPad 应用程序时,步骤 3 和 5 每 10 秒重复一次,即使该服务一直在宣传。这发生在前台和后台。
断开连接时,我收到此错误:
Error occurred while disconnecting peripheral: The specified device has disconnected from us.
关于为什么它不断断开连接有什么想法吗?如果没有数据传输,CoreBluetooth 是否会清理连接?现在,我的中心正在一次性读取外围特征。它不订阅更新,因为这些值是静态的。
谢谢!!
就我而言,解决方案是订阅该特征,无论该值是否是静态的。订阅似乎会使连接保持活动状态,而如果您读取一次性值,框架将尝试节省电池寿命并断开连接,迫使您在执行另一次读取或写入之前手动重新连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)