Windows phone 7 windows phone 7在后台运行时GPS数据无效

Windows phone 7 windows phone 7在后台运行时GPS数据无效,windows-phone-7,gps,windows-mobile-gps,Windows Phone 7,Gps,Windows Mobile Gps,我开发了一个windows phone应用程序,每30分钟向我的服务器发送一次GPS数据,并将其设置为后台应用程序(即使我的应用程序关闭,也可以发送GPS数据)。但这里有一个问题,我的应用程序可以工作并向我发送GPS数据,但数据不正确。看看这个例子: 如您所见,当应用程序关闭时,它会发送自应用程序关闭后运行的最后一个坐标。 因为我是英语新手,所以我用这种方式来解释我的问题,所以对此表示歉意 任何想法都会有帮助 (所有坐标均为样本) 谢谢 Ali Foroughi很难确切地说出您提供的示例数据有什

我开发了一个windows phone应用程序,每30分钟向我的服务器发送一次GPS数据,并将其设置为后台应用程序(即使我的应用程序关闭,也可以发送GPS数据)。但这里有一个问题,我的应用程序可以工作并向我发送GPS数据,但数据不正确。看看这个例子:

如您所见,当应用程序关闭时,它会发送自应用程序关闭后运行的最后一个坐标。

因为我是英语新手,所以我用这种方式来解释我的问题,所以对此表示歉意 任何想法都会有帮助

(所有坐标均为样本)

谢谢


Ali Foroughi

很难确切地说出您提供的示例数据有什么问题,但是考虑到您正在谈论关闭应用程序,我假设您使用的是一个
调度任务代理
(或者
周期任务
或者
资源密集任务
)。如果查看,您会发现当从
ScheduledTaskAgent
使用
GeoCoordinateWatcher
类时,它不一定使用实时GPS硬件数据。相反,数据来自每隔15分钟更新一次的操作系统缓存。这意味着,如果GPS硬件在过去15分钟内未被前台应用程序访问,则操作系统将使用粗粒度的位置数据(例如来自WiFi接入点/基站数据)更新缓存。同样,如果您的
ScheduledTaskAgent
最终使用了该数据,您可能会发现您获得了不准确的GPS数据-这将包括最终用户报告的极少移动。如果通过
geocordinatewatcher
返回的
geocordinatewatcher
水平精度
垂直精度
发送,您可能会看到,在应用程序运行时,这些数值非常低(取决于
移动阈值
)当它在您的
ScheduledTaskAgent
下运行时,这些数字会高得多。

也许这是有帮助的:
time  |  Coordinate      |  Application State        |         Description

8:0   |  30.0 : 40:0     |      IS Running           |           Correct
8:31  |  31.0 : 40:0     |      IS Running           |           Correct 

Now I close the application in 8:35

9:10  |  31.0 : 40:0     |        Closed             |          Invalid
9:31  |  31.0 : 40:0     |        Closed             |          Invalid
10:0  |  31.0 : 40:0     |        Closed             |          Invalid

Now I start my application  10:10

10:31 |  115.0 : 67:0    |      IS Running           |           Correct
11:1  |  114.0 : 69:0    |      IS Running           |           Correct

Now I close the application in 11:15

11:31  |  114.0 : 69:0   |        Closed             |          Invalid
12:01  |  114.0 : 69:0   |        Closed             |          Invalid