GeoCoordinateWatcher не может дать живой статус или разрешение

Вся цель того, что пытается быть достигнуто, состоит в том, чтобы обновить мою программу с текущим включенным или отключенным состоянием службы Locations, установленной на странице настроек телефона.

Обычно вы запускаете приложение, и GeoCoordinateWatcher просто получает статус и разрешение бота. Конкретный случай, когда я замечаю эту ошибку, - это когда вы переходите на страницу настроек, удерживаете кнопку "Назад" и напрямую выбираете мое приложение. Когда мое приложение возвращается, оно не считывает фактическое состояние служб определения местоположения.

Application_Activation и MainPage_OnNavigatedTo являются обоими событиями, которые у меня есть, и я могу перепроверить статус и разрешение. На этом этапе, независимо от того, что я делаю, если я изменил настройку, когда приложение было убито, оно показывает неверную информацию.

В этих событиях я даже запускал новый класс GeoCoordinateWatcher, и он все еще сообщает, каков был статус и разрешение, когда мое приложение в последний раз было активным.

Что я могу сделать, чтобы прочитать фактическое значение, или мне чего-то не хватает?

1 ответ

Решение

Согласно документации,

"Этот API, используемый для получения географических координат устройства, поддерживается для использования в фоновых агентах, но он использует кэшированное значение местоположения вместо данных в реальном времени. Кэшированное значение местоположения обновляется устройством каждые 15 минут".

Вполне возможно, что вы получите кэшированное местоположение после того, как службы определения местоположения были отключены.
Что происходит, скажем, через час?

Другие вопросы по тегам