在Windows Phone 8中创建后台服务以更新位置

时间:2014-02-17 11:00:40

标签: windows-phone-8 background-agents

我必须创建一个应该每1分钟运行一次的后台任务,并且应该调用Rest服务来更新Mobile经度和纬度位置。为此目的编写的其余服务我所要做的就是在我现有的应用程序中编写一个应该执行此更新的任务。你能告诉我们哪种方法是实现这一功能的最简单方法。

谢谢,

1 个答案:

答案 0 :(得分:3)

Windows桌面中没有类似服务的概念。应用程序正在运行,或者不在手机上运行。手机上的一个应用程序,跟踪位置,可以在后台运行,而其他应用程序运行。

如果您的应用程序位于前台,您将直接使用更新的位置调用Web服务。

您可以使用scheduled background agent定期更新位置,但可能无法经常更新以满足您的需求。

MSDN有details关于如何创建在后台主动跟踪位置的应用程序,受一些重要限制,以及应用程序可能被停用的原因:

  • 该应用停止主动跟踪位置。应用程序通过删除Geolocator类的PositionChanged和StatusChanged事件的事件处理程序或通过调用GeoCoordinateWatcher类的Stop()方法来停止跟踪位置。
  • 该应用已在后台运行4小时而无需用户互动。
  • 省电模式已激活。
  • 设备内存不足。
  • 用户在手机上停用了位置服务。
  • 另一个应用程序开始在后台运行。

此外,此方案还有complete tutorial可用。