在Geolocator上侦听StatusChanged时显示的位置状态栏图标

时间:2016-05-20 01:51:40

标签: windows windows-10 uwp windows-10-mobile

我正在构建适用于Windows 10 Mobile的应用程序,我希望知道位置授权状态何时更改,以便启用/禁用位置功能。我遇到过这个问题,用户总是会看到一个图标,表明应用正在手机的状态栏中访问其位置。看起来简单地为StatusChanged添加一个监听器(而不是为PositionChanged)就足以导致出现这个图标,这是没有意义的,因为应用程序还没有请求任何位置信息。

即使没有获得用户的位置,我也希望能够检测授权状态更改,但这会让用户认为该应用正在跟踪他们的位置(侵犯他们的隐私并耗尽他们的电池),即使它ISN'吨

当我没有真正收听位置更新时,我有什么办法可以阻止此图标出现吗?

这里有一些(丑陋的)代码可以证明这一点:

MainPage::MainPage()
{
    InitializeComponent();

    Geolocator::RequestAccessAsync();

    static Geolocator ^g;
    g = ref new Geolocator();
    g->StatusChanged += ref new Windows::Foundation::TypedEventHandler<Windows::Devices::Geolocation::Geolocator ^, Windows::Devices::Geolocation::StatusChangedEventArgs ^>(this, &LocationIndicatorTest::MainPage::OnStatusChanged);
}


void LocationIndicatorTest::MainPage::OnStatusChanged(Windows::Devices::Geolocation::Geolocator ^sender, Windows::Devices::Geolocation::StatusChangedEventArgs ^args)
{
    OutputDebugStringW(L"Status changed\n");
}

0 个答案:

没有答案