我试图实现以下场景:
- 打开应用程序并连接到BLE外设。* 工作 *
- 将应用程序发送到后台并保持连接。* 工作中 *
- 关闭BLE外设,应用程序会收到断开连接的通知。* 工作中 *
- 打开BLE外设,应用程序会收到断开连接的通知。* 工作中 *
- 再次关闭BLE外设。* 工作 *
- 在应用程序处于后台的情况下等待2天,然后打开BLE外设,但应用程序什么也不做。* 不工作 *
我如何才能实现这最后一步?iOS在需要时会杀死后台应用程序,但是否有一种方法可以在发现之前连接的外围设备时获得通知?我读了一些关于CB状态恢复的内容,但我真的不知道这是否会解决这种情况。
1条答案
按热度按时间hm2xizp91#
核心蓝牙状态保存/恢复正是您想要的。如果您的应用程序被挂起,它将在外围设备连接/断开连接或通知到达时启动您的应用程序。然而,它被设计为如果蓝牙出于任何原因重新启动,您的应用程序将停止唤醒。例如蓝牙崩溃(偶尔会发生),如果用户切换蓝牙或飞行模式,或者如果手机重新启动。