GeoCoordinateWatcher не может дать живой статус или разрешение
Вся цель того, что пытается быть достигнуто, состоит в том, чтобы обновить мою программу с текущим включенным или отключенным состоянием службы Locations, установленной на странице настроек телефона.
Обычно вы запускаете приложение, и GeoCoordinateWatcher просто получает статус и разрешение бота. Конкретный случай, когда я замечаю эту ошибку, - это когда вы переходите на страницу настроек, удерживаете кнопку "Назад" и напрямую выбираете мое приложение. Когда мое приложение возвращается, оно не считывает фактическое состояние служб определения местоположения.
Application_Activation и MainPage_OnNavigatedTo являются обоими событиями, которые у меня есть, и я могу перепроверить статус и разрешение. На этом этапе, независимо от того, что я делаю, если я изменил настройку, когда приложение было убито, оно показывает неверную информацию.
В этих событиях я даже запускал новый класс GeoCoordinateWatcher, и он все еще сообщает, каков был статус и разрешение, когда мое приложение в последний раз было активным.
Что я могу сделать, чтобы прочитать фактическое значение, или мне чего-то не хватает?
1 ответ
Согласно документации,
"Этот API, используемый для получения географических координат устройства, поддерживается для использования в фоновых агентах, но он использует кэшированное значение местоположения вместо данных в реальном времени. Кэшированное значение местоположения обновляется устройством каждые 15 минут".
Вполне возможно, что вы получите кэшированное местоположение после того, как службы определения местоположения были отключены.
Что происходит, скажем, через час?