7

我已经通过本地通知实现了 Beacon。当蓝牙打开然后设备进入信标范围并且应用程序处于“未运行”状态时,一切正常。但是,当设备已经在信标范围内并且蓝牙打开时,不会调用任何代表。这是一个限制还是我错过了什么?

4

1 回答 1

0

这是核心位置框架的限制。

当应用程序终止“未运行”状态时,由于位置管理器区域 didEnter / didExit 区域事件,它可以重新启动。如果您在应用程序终止时打开和关闭蓝牙,您的位置管理器将不会收到区域进入/退出事件。您能够触发 didEnter / didExit 事件的唯一方法是通过超出检测阈值以物理方式进入或退出您的信标区域之一。

  • 终止的应用程序将在区域 didEnter / didExit 事件上唤醒。

当应用程序在前台或后台运行时,区域监控服务会正常传递事件。(您可以将此服务用于地理和信标区域。)对于已终止的 iOS 应用程序,此服务会重新启动该应用程序以传递事件。

  • 信标测距不会唤醒您的应用。

(如果信标区域的 notifyEntryStateOnDisplay 属性为 true,则唤醒设备会导致应用程序在后台为信标设置几秒钟的范围。)此服务不会重新启动已终止的 iOS 应用程序;但是,您可以通过使用区域监控服务监控信标区域来重新启动。

于 2016-08-22T18:04:56.200 回答