我正在尝试实现以下场景:
- 打开应用程序并连接到 BLE 外围设备。 工作
- 将应用程序发送到后台并保持连接。 工作
- 关闭 BLE 外设,应用会收到断开连接通知。 工作
- 打开 BLE 外围设备,应用会收到断开连接通知。 工作
- 再次关闭 BLE 外围设备。 工作
- 等待 2 天,让该应用程序在后台运行并打开 BLE 外围设备,但该应用程序什么也不做。 不工作
我怎样才能实现这最后一步? iOS 会在需要时终止后台应用程序,但是有没有办法在发现以前连接的外围设备时收到通知?我阅读了一些有关 CB 状态恢复的内容,但我真的不知道这是否会解决这种情况。
最佳答案
核心蓝牙状态保存/恢复正是您想要的。如果您的应用程序被暂停,它会在外围设备连接/断开连接或通知到达时启动您的应用程序。但是,如果出于任何原因重新启动蓝牙,您的应用程序将停止被唤醒的方式被设计破坏。例如,如果用户切换蓝牙或飞行模式,或者手机重启,蓝牙崩溃(时不时发生)。
关于ios - 在后台模式下连接的外围设备(核心蓝牙),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37295639/