FusedLocationProviderApi, PRIORITY_BALANCED_POWER_ACCURACY и использование GPS

Я создаю приложение, которое отслеживает местоположение через FusedLocationProviderApi в службе Foreground.

Когда я создаю LocationRequest с PRIORITY_BALANCED_POWER_ACCURACY и начинаю прослушивать обновления местоположения, к моему удивлению запускается GPS ( Location в настройках телефона установлен на High Accuracy). Я почти сразу узнаю местоположение (я полагаю, через источники Wi-Fi/ сотовые), но, находясь в помещении, я не могу получить починку GPS, и она просто пытается без конца...

Несмотря на то, что я не просил PRIORITY_HIGH_ACCURACY, меня сильно разряжает батарея, и меня обвиняют в использовании GPS в течение нескольких минут.

  1. Есть ли способ установить тайм-аут для поиска GPS (определить ситуацию в помещении)?
  2. Можно ли получить приличное местоположение с помощью FusedLocationProviderApi без автоматического запуска GPS или мне нужно вернуться к старому API определения местоположения?
  3. Нужно ли прибегать к ограничению каждого LocationRequest парой минут (setExpirationDuration) и создавать новое, чтобы предотвратить разрядку батареи GPS?

[РЕДАКТИРОВАТЬ]: Я думаю, что я мог бы найти другого виновника. На вкладке карты в приложении я установил setMyLocationEnabled(true), и это, кажется, вызывает вспышку GPS. Я немного поэкспериментирую и опубликую результаты. Тем не менее меня интересует, как менеджер местоположения решает, что достаточно, когда дело доходит до попытки исправить GPS.

Заранее спасибо!

0 ответов

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