当 Here Drive+ 运行时,GPS 在后台运行
Posted
技术标签:
【中文标题】当 Here Drive+ 运行时,GPS 在后台运行【英文标题】:GPS running in background when Here Drive+ is running 【发布时间】:2015-08-19 14:41:14 【问题描述】:当 HERE Drive+ 在前台运行时,我在后台正确运行我的 wp (8.0) 应用程序时遇到问题。我的应用是基于位置的应用。
我设置了一个小演示项目来重现、隔离和简化问题。
我有一个 GeoLocator,它在前台检查 PositionChanged 事件中的当前位置并将其显示到标签。在后台运行时,它每 5 秒显示一次 toast(向我展示 PositionChanged 事件仍被触发)。
相当前卫的东西,行之有效。
public MainPage()
InitializeComponent();
DataContext = this;
App.LocationWatcher.ReportInterval = 5000;
App.LocationWatcher.DesiredAccuracy = PositionAccuracy.High;
App.LocationWatcher.PositionChanged += LocationWatcherOnPositionChanged;
App.LocationWatcher.StatusChanged += LocationWatcherOnStatusChanged;
private void LocationWatcherOnStatusChanged(Geolocator sender, StatusChangedEventArgs args)
DisplayToast("Status:", args.Status.ToString());
private void LocationWatcherOnPositionChanged(Geolocator sender, PositionChangedEventArgs args)
if (!App.IsRunningInBackground)
Dispatcher.BeginInvoke(() =>
this.tbkLastUpdatedValue.Text = DateTime.Now.Ticks.ToString();
this.tbkLatitudeValue.Text = args.Position.Coordinate.Latitude.ToString();
this.tbkLongitudeValue.Text = args.Position.Coordinate.Longitude.ToString();
);
else
DisplayToast("Location:", args.Position.Coordinate.Latitude.ToString());
所以,现在的问题是:当我的应用程序在后台运行时,它会显示它的祝酒词,当我运行任何其他应用程序(包括实际使用 gps 的法线贴图)时,但是当我运行 HERE Drive+ 时,我的 PositionChanged 和我的StatusChanged 事件不再被触发。
当 drive+ 在前台运行时,市场上有一个应用程序能够在后台运行,例如 stated in the marketplace comments(仅限德语)
任何想法如何解决此问题或可能导致该问题的原因?
【问题讨论】:
两个想法:第一个:您是否尝试针对 Windows 8.1 RT 进行编译?第二:您确定您的应用程序仍在后台运行吗? HERE Drive+ 可能会消耗过多内存,因此您的应用程序可能会在您启动/使用时暂停。 1st:您能否进一步解释一下,您的意思是什么?我有一个 wp8.0 项目。第二:我不太确定。当我返回我的应用程序时,任何用户输入的数据都会保留在 UI 中,但是当我打开 HERE Drive+ 时,我可以看到我的应用程序的 Application_Deactivated 事件被触发了 第一个:当您将应用程序升级到 WinPhone 8.1 项目时,它的行为可能会有所不同。也许那时它工作正常。 2nd:你恢复激活事件中的数据吗?可能是您的应用程序已被删除 (msdn.microsoft.com/en-us/library/windows/apps/…)。在这种情况下,您不会在后台收到任何定位信息。当内存不足时,Windows Phone 会关闭后台应用程序。 1st:试过了,但问题仍然存在。第二:不,我没有主动恢复数据。如果我不手动保存,当应用程序被墓碑删除时,任何数据都应该消失。 【参考方案1】:Windows SDK 不再存在。另一种方法是使用 HERE Maps API for javascript,它支持矢量地图数据渲染。
【讨论】:
以上是关于当 Here Drive+ 运行时,GPS 在后台运行的主要内容,如果未能解决你的问题,请参考以下文章
平板电脑处于待机状态时,我的 GPS 应用程序是不是可以继续在后台运行?
当应用程序从后台返回时,Xamarin iOS 呈现不同的视图控制器