ScheduledAgent中的Geolocator不起作用

时间:2013-07-24 18:11:38

标签: windows-phone-8

ScheduledAgent中的Geolocator总是给我旧值位置: var position = await geolocator.GetGeopositionAsync(); 这个位置永远都是一样的。 这是类似的问题 - ScheduledAgent and GeoCoordinateWatcher - how to make them work? 但它太旧了,可能会有一些变化。

1 个答案:

答案 0 :(得分:1)

根据此http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202962(v=vs.105).aspx#BKMK_NoteworthyAPIsforUsewithScheduledTasks

GeoCoordinateWatcher:

此API用于获取设备的地理坐标,支持在后台代理中使用,但使用缓存的位置值而不是实时数据。 设备每15分钟更新一次缓存的位置值。

我认为,Geolocator使用相同的API。我已经启动了我的测试应用程序,它返回相同位置15分钟,之后它返回了新位置(我已经在预定代理完成第一个位置跟踪后立即设置)。

对于测试,我使用的是此代码:

#if DEBUG_AGENT
            ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(30));
#endif

预定代理的间隔时间为30分钟,这就是为什么没有此代码进行测试的情况下,位置跟踪的行为将是常态。