1

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

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

4

1 回答 1

0
  1. 启用蓝牙中央后台模式

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

  3. 实现 - (void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary *)state 委托方法。

3.1 使用 NSArray *peripherals = state[CBCentralManagerRestoredStatePeripheralsKey] 获取可恢复的外设数组

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

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

于 2016-01-01T10:27:22.380 回答