0

我的应用在后台启用了定位服务,但这是我提供给用户的一个选项:我的意思是,我的应用中有一个设置选项,允许用户继续在后台跟踪位置或不跟踪位置。如果用户在我的应用程序中启用此选项并进入后台,一旦进入后台,她会在设备的“设置”应用程序中禁用定位服务,然后再次启用它们,我看到她需要再次激活该应用程序才能重新启动在我的应用程序中监听的位置。

有没有办法在后台重新启动它?我需要这个才能在 iOS 6.0+ 中工作

提前致谢

4

1 回答 1

0

尝试

public override void DidEnterBackground (UIApplication application) {
  int taskID = UIApplication.SharedApplication.BeginBackgroundTask( () => {});
  new Task ( () => {
    DoWork();
    //UIApplication.SharedApplication.EndBackgroundTask(taskID);
  }).Start();
}

要检查多任务支持,以便可以修改应用程序行为以弥补缺失的功能:

- (BOOL)multitaskingAvailable
{
  UIDevice *device = [UIDevice currentDevice];
  BOOL areBackgroundTasksSupported = NO;
  if ([device respondsToSelector:
      @selector(isMultitaskingSupported)])
       areBackgroundTasksSupported = device.multitaskingSupported;
  return areBackgroundTasksSupported;
}

资源

于 2014-07-03T15:16:28.990 回答