可以设置唤醒距离吗?如果可能,如何设置唤醒距离/最小rssi?
我想将最小距离内的唤醒应用程序设置为5米或设置为最小rssi值。现在我只能根据其默认范围从beacon唤醒应用程序来唤醒。
我正在使用Swift 3来开发应用程序。
答案 0 :(得分:2)
iOS CoreLocation API无法为信标监控的回调设置最小距离。实现类似功能的常用方法是使用Beacon测距。
您可以通过同时启动监控和测距来实现此目的:
var error = driver.findElement(webdriver.By.id('error-container-text')).getAttribute('innerHTML'):
当首次检测到信标时,监控回调将在后台唤醒您的应用,并且测距将自动开始。然后在测距回调中,只有在满足最小距离条件时才执行逻辑:
locationManager?.startMonitoring(for: region)
locationManager?.startRangingBeacons(in: region)
有一些警告:
在后台,在区域中首次检测到信标后,您只能获得10秒的测距。因此,如果您在其传输范围的外边缘(例如40米)处检测到背景中的信标,则只有在用户在10秒内进入5米范围内时才会触发自定义逻辑。有lengthen the time of background ranging to 180 seconds方法可以使其更加实用。
范围回调每秒触发一次。因此,如果您只想执行一次逻辑,则必须设置某种标志以防止它每秒执行一次。