wp8背景gps跟踪器停止工作

时间:2014-05-29 16:37:09

标签: windows-phone-8 background gps

我想实现Windows Phone 8的应用程序,以便每分钟获取设备位置数据并将其发送到服务器。

为此我遵循了这个例子:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662935(v=vs.105).aspx

而不是使用:

App.Geolocator.MovementThreshold = 100;

我用:

App.Geolocator.ReportInterval = 1 *60 * 1000;

该应用程序在前台运行良好。

如果我按下START按钮,该应用程序也能正常运行,但有以下限制:

  1. 如果我打开另一个应用程序,背景gps跟踪器将停止工作。
  2. 大约一小时或更长时间后,背景gps跟踪器也会停止工作。
  3. 我已经读过,由于某些因素,系统会停用在后台运行的应用程序:

    http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681691(v=vs.105).aspx

    在上述两种情况下,是否有任何方法或策略可以确保我的GPS跟踪器在后台继续工作?目前是否有任何wp8应用程序在这种情况下工作?是否可以在wp8中执行此操作?

1 个答案:

答案 0 :(得分:3)

您必须在WMAppManifest.xml中添加此代码段,以便让GPS在后台运行:

   <Tasks>
       <DefaultTask Name="_default" NavigationPage="GUI/Register.xaml">
          <BackgroundExecution>
             <ExecutionType Name="LocationTracking" />
          </BackgroundExecution>
       </DefaultTask>
   </Tasks>     

添加此项以便能够在App()的最后一行1小时后在后台运行应用:

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;

希望这有帮助。