繁体   English   中英

当后台或手机中的应用处于锁定状态时,iOS BLE外围设备扫描

[英]iOS BLE peripheral scanning when app in background or phone is in lock state

当前正在与需要对外围设备进行后台扫描的应用一起使用。 在初始化外围设备的扫描时,我们需要允许复制密钥。

我已经编写了一个示例应用程序来对此进行实验。 我已在我的应用程序中启用了后台功能以实现有限状态运行。我发现,当应用程序为后台时,发现外围代理方法中的命中次数非常少。 手机处于锁定状态时甚至更少。 对于相同的应用状态,命中数在不同时间是不同的。 我们还注意到,当手机处于锁定屏幕或应用程序处于后台时,启动连接时会出现问题。

这是预期的行为吗? 我有想念吗?

任何帮助表示赞赏。

该文档说:

当您的iOS应用处于后台或挂起状态时,其与蓝牙相关的功能会受到影响。 […]即使您声明了一种或两种[后台执行模式],当您的应用程序在后台运行时,某些蓝牙任务也会以不同的方式运行。 在设计应用程序时,您需要考虑这些差异。

系统甚至可以随时终止支持后台处理的应用程序,以释放当前前景应用程序的内存。 从iOS 7开始,Core Bluetooth支持保存中央和外围设备管理器对象的状态信息,并在应用启动时恢复该状态。 您可以使用此功能来支持涉及蓝牙设备的长期操作。 来源

如果所有正在扫描外围设备的应用程序都在后台运行,则中央设备扫描广告包的时间间隔会增加。 结果,发现广告外围设备可能需要更长的时间。 来源

在plist中声明您的应用程序时,它可以在后台扫描,但功率/性能有限,以节省电池,并且可能被系统杀死。

不确定,但我认为手机锁定时无法连接。 您只能还原以前的连接。

在此处有有关背景蓝牙操作的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM