代码之家  ›  专栏  ›  技术社区  ›  Alexandre

iOS/Beacon-如何在打开蓝牙时启动didEnterRegion?

  •  2
  • Alexandre  · 技术社区  · 9 年前

    我已经使用ibeacons设置了一个应用程序,我注意到 didEnterRegion 当我在区域内打开蓝牙时,不会被激发。然而,当我在打开蓝牙的情况下实际进入该区域时,它可以正常工作。

    在前台时,我通过调用 [self.locationManager requestStateForRegion:self.beaconRegion] 在里面 didStartMonitoringForRegion ,并检查我在里面。

    然而,我不知道在后台做什么。我知道唯一可以被解雇的方法是 didEnterRegion ,这意味着我无法在区域内打开蓝牙时发送通知。

    有人做到了吗?

    谢谢

    2 回复  |  直到 9 年前
        1
  •  2
  •   heypiotr    9 年前

    我想到的一个想法是:添加 bluetooth-central 后台模式,并实现 CBCentralManager CBCentralManagerDelegate centralManagerDidUpdateState 。这将在启用或禁用蓝牙时唤醒您的应用程序,您可以使用此时间 requestStateForRegion .

        2
  •  0
  •   izik461    9 年前

    通过在区域初始化中指定notifyEntryStateOnDisplay,可以强制获取启用BLE时的通知didEnterRegion:

    _myBeaconRegion.notifyEntryStateOnDisplay=YES;