WP7 GeoCoordinateWatcher 在后台
Posted
技术标签:
【中文标题】WP7 GeoCoordinateWatcher 在后台【英文标题】:WP7 GeoCoordinateWatcher in the background 【发布时间】:2012-01-02 18:01:57 【问题描述】:我想编写一个应用程序,当您靠近某个位置时会向您发出警报。 我想将 GeoCoordinateWatcher 与 PeriodicTask 一起使用,但如果我没记错的话,每 15 分钟调用一次测试任务。我可以以某种方式强制 PeriodicTask 更频繁地调用吗?或者我可以做些什么来在后台使用 GeoCoordinateWatcher,这对 UX 没有侵入性。该应用程序应该可以工作 2-3 小时,我喜欢每 5 分钟更新一次位置。
【问题讨论】:
你能告诉我们你现在使用的代码吗? 【参考方案1】:不,目前不可能。您只能在锁屏下在前台运行您的应用程序以节省电池寿命。
【讨论】:
只是想知道这个。感谢您的快速响应。【参考方案2】:注册GeoCoordinateWatcher
的PositionChanged
事件并设置GeoCoordinateWatcher
的属性MovementThreshold
的低值以更频繁地获取位置变化事件。
根据 MSDN
This property specifies the minimum change in position that must take place
before the PositionChanged event is raised.
【讨论】:
【参考方案3】:您可以使用计时器每 5 分钟启动一次 Watcher,但不要忘记将其也停止以节省电池电量。
【讨论】:
以上是关于WP7 GeoCoordinateWatcher 在后台的主要内容,如果未能解决你的问题,请参考以下文章
为啥 GeoCoordinateWatcher 的 DesiredAccuracy 属性是只读的? [关闭]
System.Device.Location.GeoCoordinateWatcher.Position.Location.Speed 始终为 NaN
从 Windows Phone 7 中的 GeoCoordinateWatcher.StatusChanged 事件返回位置数据