Windows phone 8 此处行驶时,GPS在后台运行+;正在运行

Windows phone 8 此处行驶时,GPS在后台运行+;正在运行,windows-phone-8,gps,geolocation,here-api,Windows Phone 8,Gps,Geolocation,Here Api,当HERE Drive+在前台运行时,我在后台正确运行wp(8.0)应用程序时遇到问题。我的应用程序是基于位置的应用程序 我已经设置了一个小的演示项目来重现、隔离和简化问题 我有一个地理定位器,它在前台检查并显示PositionChanged事件中的当前位置,并将其显示为标签。在后台运行时,它每5秒显示一次toast(向我显示PositionChanged事件仍然被触发) 很前卫的东西,很管用 public MainPage() { InitializeCompo

当HERE Drive+在前台运行时,我在后台正确运行wp(8.0)应用程序时遇到问题。我的应用程序是基于位置的应用程序

我已经设置了一个小的演示项目来重现、隔离和简化问题

我有一个地理定位器,它在前台检查并显示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)时,但当我在这里运行Drive+,我的位置更改和状态更改事件不再被触发

市场上有一个应用程序可以在前台运行时在后台运行,如(仅德语版)


有没有办法解决这个问题,或者是什么原因导致了这个问题?

Windows SDK已不再适用。另一种方法是使用HERE Maps API for Javascript,该API支持矢量地图数据呈现。

Windows SDK不再适用。另一种方法是使用HERE Maps API for Javascript,它支持矢量地图数据呈现。

两个想法:第一:您是否尝试过使用Windows 8.1 RT进行编译?第二:你确定你的应用程序仍在后台运行吗?这里,Drive+可能会消耗太多内存,因此当您启动/使用应用程序时,应用程序可能会被挂起。1:您能进一步解释一下,这是什么意思吗?我有一个wp8.0项目。第二:我不是很确定。当我返回到我的应用程序时,用户输入的任何数据都会保留在UI中,但我可以看到,当我在此处打开Drive+1st时,会触发我的应用程序的Application\u Deactivated事件:当您将应用程序升级到WinPhone 8.1项目时,您的应用程序的行为可能会有所不同。也许它能正常工作。第二:您是否恢复激活事件中的数据?可能是您的应用程序已被删除()。在这种情况下,您不会在后台收到任何定位信息。当内存不足时,Windows Phone会关闭后台应用。1:尝试过,但问题仍然存在。第二:不,我没有主动恢复数据。如果我不手动保存应用程序,那么当应用程序被删除时,所有数据都应该消失。两个想法:1:您是否尝试过使用Windows 8.1 RT进行编译?第二:你确定你的应用程序仍在后台运行吗?这里,Drive+可能会消耗太多内存,因此当您启动/使用应用程序时,应用程序可能会被挂起。1:您能进一步解释一下,这是什么意思吗?我有一个wp8.0项目。第二:我不是很确定。当我返回到我的应用程序时,用户输入的任何数据都会保留在UI中,但我可以看到,当我在此处打开Drive+1st时,会触发我的应用程序的Application\u Deactivated事件:当您将应用程序升级到WinPhone 8.1项目时,您的应用程序的行为可能会有所不同。也许它能正常工作。第二:您是否恢复激活事件中的数据?可能是您的应用程序已被删除()。在这种情况下,您不会在后台收到任何定位信息。当内存不足时,Windows Phone会关闭后台应用。1:尝试过,但问题仍然存在。第二:不,我没有主动恢复数据。如果我不手动保存,那么当应用程序被删除时,所有数据都应该消失。