首页 文章

CoreBluetooth在后台重新连接

提问于
浏览
1

我希望我的应用程序连接或尝试连接到使用 -retrievePeripheralsWithIdentifiers-retrieveConnectedPeripheralsWithServices 检索的已知外围设备 . 当外围设备断开连接时,应尝试重新连接 . 通过这种方式,应用程序从外围设备接收通知并呈现本地推送通知 . 当应用程序处于前台或后台并且仍在运行时,此工作正常 .

在后台,如果应用程序因任何原因被终止(用户关闭,内存不足),则系统会断开外围设备,但应用程序不会收到断开连接的通知,因此无法自动重新连接以继续接收通知 . 当应用程序退出时,如何尝试重新连接?

1 回答

  • 0
    • 启用蓝牙中央后台模式

    • 使用CBCentralManagerOptionRestoreIdentifierKey选项在实例化CBCentralManager时提供唯一标识符

    • 实现 - (void)centralManager :( CBCentralManager *)中心willRestoreState:(NSDictionary *)状态委托方法 .

    3.1使用NSArray获取可恢复外设阵列* peripherals = state [CBCentralManagerRestoredStatePeripheralsKey]

    3.2调用CBCentralManager的connectPeripheral方法,为每个要恢复的外围设备供电

    注意: - 阅读“核心蓝牙编程指南”中的更多详细信息

相关问题