此处Drive +正在运行时GPS在后台运行

时间:2015-08-19 14:41:14

标签: windows-phone-8 gps geolocation here-api

当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的普通地图)时,但是当我在这里运行驱动器+时,我的PositionChanged和我的StatusChanged事件不再被触发。

市场上有一个应用程序,当驱动器+在前台运行时能够在后台运行,如stated in the marketplace comments(仅限德语​​)

任何想法如何解决这个或什么可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

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