为什么仅在重新启动应用程序后才开始“后台位置更新”?

时间:2019-07-07 03:53:19

标签: c# ios xamarin.forms

  1. 运行应用程序
  2. 切换到后台。
  3. “后台位置更新”在后台启动,但不到一分钟即可完成。
  4. 我单击应用程序图标或返回到应用程序,“位置更新”开始工作
  5. 回到后台。现在,“后台位置更新”将持续很长时间。

出什么问题了?为什么第一次转换为后台模式“后台位置更新”会在不到30秒的时间内停止工作。

public LocationManager()
        {
           this.locMgr = new CLLocationManager
           {
               PausesLocationUpdatesAutomatically = false
           };
           locMgr.AllowsBackgroundLocationUpdates = true;
           locMgr.DesiredAccuracy = 1;
           locMgr.DistanceFilter = 1;
           locMgr.StartUpdatingLocation();
}

我的信息.plist

<key>UIBackgroundModes</key>
<array>
    <string>location</string>
</array>
<key>NSLocationAlwaysUsageDescription</key>
    <string>This application needs access to a location.</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>This application needs access to a location.</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>This application needs access to a location.</string>

我的AppDelegate.cs

private CLLocationManager locationManager = new CLLocationManager();
public override void DidEnterBackground(UIApplication application)
        {
            Manager = new LocationManager();
            Manager.StartLocationUpdates();
        }

0 个答案:

没有答案