Windows phone 7 windows phone 7在后台运行时GPS数据无效
我开发了一个windows phone应用程序,每30分钟向我的服务器发送一次GPS数据,并将其设置为后台应用程序(即使我的应用程序关闭,也可以发送GPS数据)。但这里有一个问题,我的应用程序可以工作并向我发送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很难确切地说出您提供的示例数据有什
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