背景中的位置跟踪

时间:2013-08-27 11:18:17

标签: windows-phone-7 c#-4.0

我正在开发一个使用用户当前位置的Windows手机应用程序,我在7 OS中制作应用程序。我的问题是,我可以跟踪背景中的位置,即屏幕锁定时的位置吗? 我知道这是wp8中的一种可能,因为它为我们提供了GeoLocator类,但是我可以在wp7中实现这一点吗?我基本上是一个runtracker应用程序,因此我希望我的应用程序跟踪位置,即使它在后台,它真的可行吗? 我们非常感谢您的帮助!!

3 个答案:

答案 0 :(得分:1)

我在我的应用程序中遇到了同样的问题.. 我不认为这对wp7来说是可行的.. 如果你想用wp8做,你可以参考以下链接。   http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681691%28v=vs.105%29.aspx

了解背景支持和不支持的API http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202942%28v=vs.105%29.aspx/css

答案 1 :(得分:1)

GeoCoordinateWatcher类存在于WP7中,但这里是来自MSDN的文档 -

  

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

更多信息:http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202962%28v=vs.105%29.aspx/css

答案 2 :(得分:1)

可以让应用程序在锁定屏幕下运行,例如,Endomondo应用程序。

使用Idle Detection,您可以启用该应用,但屏幕已锁定,您可以继续跟踪该位置。实际上,它不是在后台运行,而是在前台运行。只是屏幕被锁定。所以,小心不要耗尽用户的电池。

您必须将PhoneApplicationService.ApplicationIdleDetectionMode属性设置为Disabled,例如 App.xaml.cs 中的InitializePhoneApplication()方法:

PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;

请注意,此类应用有特殊的认证要求。请参阅以下页面的第6.3节(在锁定屏幕下运行的应用程序):

Additional requirements for specific app types for Windows Phone