我想实现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按钮,该应用程序也能正常运行,但有以下限制:
我已经读过,由于某些因素,系统会停用在后台运行的应用程序:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681691(v=vs.105).aspx
在上述两种情况下,是否有任何方法或策略可以确保我的GPS跟踪器在后台继续工作?目前是否有任何wp8应用程序在这种情况下工作?是否可以在wp8中执行此操作?
答案 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;
希望这有帮助。