11

我在我的应用程序中使用区域监控,我遇到了一个我找不到任何答案的问题。区域监控如何在后台模式下工作?

根据位置感知 PG:

每次用户的当前位置越过边界区域时,系统都会为您的应用程序生成适当的区域事件。如果您的应用程序已经在运行,这些事件将直接发送给任何当前位置管理器对象的委托。如果您的应用程序没有运行,系统会在后台启动它以便响应。

现在,这个问题是:我的应用程序处于暂停模式,已输入一个区域并应交付触发器,此事件是否会“直接”发送到委托人:

locationManager:didEnterRegion:

?? 如果应用程序处于后台模式,同样的问题。换句话说,我应该考虑在挂起和后台模式下接收此事件的任何代码吗?还是 iOS 会先启动应用程序,然后直接将事件发送给委托,无需任何 BG 代码?

4

3 回答 3

1

区域监控 如果您在后台,当您进入受监控区域时重新启动您的应用程序。

但是,您必须在应用重新启动后再次配置您的位置管理器。

像这样的东西 -

if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey] ) 
     {

        NSLog(@"Relaunched due to location update");

        NSLog(@"app woke up times ---- %d",ForTest);

        NSLog(@"Starting the location manager");
        self.locmanager = [[CLLocationManager alloc] init];
        [self.locmanager startMonitoringForRegion:(CLRegion)*region];
       // self.locmanager.pausesLocationUpdatesAutomatically = YES ;
    }
于 2014-04-17T07:45:46.583 回答
0

据我所知,区域监控仅适用于 iPhone4,它基于更改通信塔的设备。这样,它比标准的后台位置更新使用更少的电池。确保您启用了适当的背景模式。只要你实现了那个委托,你就应该准备好了。

于 2011-06-21T20:11:17.840 回答
-1

在此处输入图像描述

启用启用位置更新和后台获取的后台模式

于 2015-05-18T07:38:58.967 回答