我希望我的应用程序连接或尝试连接到使用 -retrievePeripheralsWithIdentifiers
或 -retrieveConnectedPeripheralsWithServices
检索的已知外围设备 . 当外围设备断开连接时,应尝试重新连接 . 通过这种方式,应用程序从外围设备接收通知并呈现本地推送通知 . 当应用程序处于前台或后台并且仍在运行时,此工作正常 .
在后台,如果应用程序因任何原因被终止(用户关闭,内存不足),则系统会断开外围设备,但应用程序不会收到断开连接的通知,因此无法自动重新连接以继续接收通知 . 当应用程序退出时,如何尝试重新连接?
1 回答
启用蓝牙中央后台模式
使用CBCentralManagerOptionRestoreIdentifierKey选项在实例化CBCentralManager时提供唯一标识符
实现 - (void)centralManager :( CBCentralManager *)中心willRestoreState:(NSDictionary *)状态委托方法 .
3.1使用NSArray获取可恢复外设阵列* peripherals = state [CBCentralManagerRestoredStatePeripheralsKey]
3.2调用CBCentralManager的connectPeripheral方法,为每个要恢复的外围设备供电
注意: - 阅读“核心蓝牙编程指南”中的更多详细信息