1

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

谢谢,

4

1 回答 1

3

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

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

您可以使用计划的后台代理定期更新位置,但它可能不会频繁更新以满足您的需要。

MSDN 提供了有关如何创建在后台主动跟踪位置的应用程序的详细信息,但受到一些重要限制,以及应用程序可能被停用的原因:

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

此外,还有适用于此场景的完整教程。

于 2014-02-17T12:59:57.400 回答