繁体   English   中英

背景中的CoreBluetooth重新连接

[英]CoreBluetooth reconnection in background

我希望我的应用程序可以连接或尝试连接到使用-retrievePeripheralsWithIdentifiers-retrieveConnectedPeripheralsWithServices检索的已知外围设备。 当外围设备断开连接时,应尝试重新连接。 这样,该应用程序会从外围设备接收通知,并显示本地推送通知。 当应用程序处于前台或后台且仍在运行时,此方法可以正常工作。

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

  1. 启用蓝牙中央背景模式

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

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

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

3.2调用CBCentralManager的connectPeripheral方法,提供每个外围设备以进行还原

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM