Чтобы добавить к @Janusz, когда вы получаете исправление от другого поставщика и хотите узнать, от какого поставщика это исправление (NETWORK или GPS), вы можете вызвать getProvider (), чтобы найти это.

имаю смыслGPS_PROVIDER (местоположения прибывают из сигналов GPS) иNETWORK_PROVIDER (местоположения определяются по вышкам сотовой связи и точкам беспроводного доступа), но я не понимаю значенияPASSIVE_PROVIDERнесмотря на определение в API:

Специальный поставщик местоположения для получения местоположений без фактического определения местоположения. Этот поставщик может использоваться для пассивного получения обновлений местоположения, когда другие приложения или службы запрашивают их, фактически не запрашивая местоположения самостоятельно. Этот провайдер возвращает местоположения, созданные другими провайдерами. Вы можете запросить метод getProvider (), чтобы определить источник обновления местоположения. Требуется разрешение android.permission.ACCESS_FINE_LOCATION, хотя, если GPS не включен, этот поставщик может возвращать только грубые исправления.

Почему один использует это вместо одного из других поставщиков? Чтобы продлить срок службы батареи? Возвращает ли пассивный поставщик только полезную информацию, если какое-то другое приложение явно запрашивает данные у реальных поставщиков, или всегда безопасно запрашивать местоположения из этого?

Ответы на вопрос(2)

Ваш ответ на вопрос