iOS - 任何代理方法或通知,当蓝牙设备断开连接时自动调用

时间:2014-08-08 06:07:21

标签: ios ios7 bluetooth-lowenergy core-bluetooth ios-bluetooth

我正在使用iOS的BLE设备。当我搜索Range中的蓝牙设备列表然后与它们建立连接时,这些设备工作正常。

有时,由于某些范围或其他原因,设备会断开连接。现在我想获得一些通知,向用户显示设备断开连接的消息,以便他/她可以再次连接。

是否有可用于检查连接或断开连接的委托方法或我们如何实现此目的。请指导我任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

来自CBCentralManagerDelegate的方法是正确的。

- (void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error
  

当拆除与外围设备的现有连接时调用。

但要在应用处于后台时收到此通知,请确保您已启用正确的后台模式 - "使用蓝牙LE配件" (蓝牙中央)。

要启用背景模式,请选择目标 - >开放"能力"标签 - >打开"背景模式"。

答案 1 :(得分:1)

CBCentralManagerDelegate有一个名为

的方法
– centralManager:didDisconnectPeripheral:error:

在拆除与外围设备的现有连接时调用。我不知道Apple定义为什么"拆除",由于范围问题而失去连接并不一定像你期望的那样调用这种方法。尝试一下,让我知道事情是如何发展的。