В Android є 3 провайдери локації.
Вони є:
gps -> (GPS, AGPS): назва постачальника GPS-локації. Цей провайдер визначає місцезнаходження за допомогою супутників. Залежно від умов, цей постачальник може зайняти деякий час, щоб повернути виправлення місцеположення. Потрібен дозвіл android.permission.ACCESS_FINE_LOCATION.
мережа -> (AGPS, CellID, WiFi MACID): Назва постачальника мережевого місцезнаходження. Цей провайдер визначає місцеположення на основі наявності стільникової башти та точок доступу Wi-Fi. Результати отримують за допомогою мережевого пошуку. Потрібен будь-який з дозволів android.permission.ACCESS_COARSE_LOCATION або android.permission.ACCESS_FINE_LOCATION.
пасивний -> (CellID, WiFi MACID): спеціальний постачальник місцеположення для прийому місцеположень без фактичного ініціювання виправлення місцеположення. Цей постачальник може використовуватися для пасивного отримання оновлень про місцеположення, коли інші програми чи послуги вимагають їх, фактично не вимагаючи місцеположення самостійно. Цей постачальник поверне місця, створені іншими постачальниками. Потрібен дозвіл android.permission.ACCESS_FINE_LOCATION, хоча якщо GPS не ввімкнено, цей провайдер може повертати лише грубі виправлення. Саме так Android називає цих провайдерів локації, однак основні технології для роботи цих матеріалів відображаються на певний набір апаратних і технічних можливостей, що надаються (послуга мережі).
Найкращий спосіб - спочатку скористатись “мережевим” або “пасивним” провайдером, а потім резервним “gps” та залежно від завдання переключитися між провайдерами. Це охоплює всі випадки та забезпечує найнижчу загальну послугу знаменника (в гіршому випадку) та велику послугу (в кращому випадку).
Посилання на статтю: Провайдери локації Android - gps, мережа, пасивна Автор Nazmul Idris
Код посилання: https://stackoverflow.com/a/3145655/28557
----------------------- Оновлення -----------------------
Тепер у Android є постачальник з’єднаних адрес
Постачальник плавного розташування інтелектуально керує базовою технологією розташування та надає вам найкраще місце відповідно до ваших потреб. Це спрощує способи додатків отримувати поточне місцезнаходження користувача з покращеною точністю та меншим енергоспоживанням
Провайдер плавного розташування надає три способи отримання місця розташування
- Останнє місцезнаходження: Використовуйте, коли хочете дізнатися поточне місце розташування один раз.
- Запросити місцеположення за допомогою слухача: Використовуйте, коли програма знаходиться на екрані / фронту, і потрібно продовжувати місцезнаходження.
- Попросити місцеположення, використовуючи очікуваний намір: використовувати, коли додаток у фоновому режимі та вимагає продовження розташування
Список літератури:
Офіційний сайт: http://developer.android.com/google/play-services/location.html
Приклад постачальника плавного розташування: GIT: https://github.com/kpbird/fused-location-provider-example
http://blog.lemberg.co.uk/fused-location-provider
-------------------------------------------------- ------