加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – CoreBluetooth – 在设备锁定时发现BLE外设

发布时间:2020-12-16 05:06:26 所属栏目:百科 来源:网络整理
导读:我注意到,当设备处于背景中时,BLE外围设备的发现似乎表现出不同(在中央侧),与在后台锁定时相比. 有人可以确认这一点或指向我更多的信息/文件吗? 更具体一点 – 当我的应用程序(中央)转换到后台和主屏幕时,它会继续按预期发现外围设备,但是当我按下“睡眠/唤
我注意到,当设备处于背景中时,BLE外围设备的发现似乎表现出不同(在中央侧),与在后台锁定时相比.

有人可以确认这一点或指向我更多的信息/文件吗?

更具体一点 – 当我的应用程序(中央)转换到后台和主屏幕时,它会继续按预期发现外围设备,但是当我按下“睡眠/唤醒”按钮从而锁定设备时,它会停止发现我的外围设备.该应用程序没有崩溃或任何事情……事实上,当我解锁设备(返回主屏幕)时,它恢复发现外围设备而无需将其恢复到前台.我也明白,BLE在后台不太频繁地被触发,但在我的情况下,我在锁定状态下观看它超过一个小时并且它从未触发发现,但是一旦我解锁它就恢复正常.

我正在寻找一种解决方案,当设备(作为中央运行)被锁定时,我也能够发现外围设备.

谢谢你的帮助!

-H

更新中…

发现了一篇有趣的帖子,我想分享:http://web.archiveorange.com/archive/v/lBeBkjSSTe5jAan6ufTX

特别是观察(Brian Fudge)很有意思……

  • A scanning device that is locked does not report any iOS peripherals that are also locked.

  • On some devices,like iPhone 5 and 5S,you only need to press the home button on the peripheral for the scanner to succeed and
    peripherals to be reported.

  • On other devices,like iPad and iPod Touch,you have to press the home button and unlock the peripheral for the scanner to succeed and
    peripherals to be reported.

  • A non-iOS device,such as an rMBP,can scan iOS peripherals that are in the background and locked.

  • All iOS devices can scan hardware peripherals (such as a health tracker) while the iOS device is in the background and locked.

解决方法

好吧,我遇到了同样的问题,并设法理解为什么.所以基本上当你在后台或设备被锁定时,你的应用程序将只能发现一次设备(你可以在前台获得多个发现,标志为CBCentralManagerScanOptionAllowDuplicatesKey,但在背景中忽略它)

所以我的应用程序发现没有问题任何BLE外围设备在后台,但一旦我锁定我的设备,我无法检测到它们.我发现外围设备的广播包太大了(它发送了2次).减少我的外围广播包似乎解决了这个问题.当锁定时,iPhone似乎一次收听广告包.在前台或后台,它能够监听2次发送的数据包.

希望这可以帮助别人.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读