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