W systemie Android są 3 dostawcy lokalizacji.
Oni są:
gps -> (GPS, AGPS): nazwa dostawcy lokalizacji GPS. Ten dostawca określa lokalizację za pomocą satelitów. W zależności od warunków ten dostawca może trochę potrwać, aby zwrócić poprawkę lokalizacji. Wymaga uprawnienia android.permission.ACCESS_FINE_LOCATION.
sieć -> (AGPS, CellID, WiFi MACID): nazwa dostawcy lokalizacji sieciowej. Ten dostawca określa lokalizację na podstawie dostępności wieży komórkowej i punktów dostępu Wi-Fi. Wyniki są pobierane za pomocą wyszukiwania sieciowego. Wymaga jednego z uprawnień android.permission.ACCESS_COARSE_LOCATION lub android.permission.ACCESS_FINE_LOCATION.
pasywne -> (CellID, WiFi MACID): Specjalny dostawca lokalizacji do odbierania lokalizacji bez inicjowania poprawki lokalizacji. Ten dostawca może być używany do pasywnego otrzymywania aktualizacji lokalizacji, gdy inne aplikacje lub usługi o nie żądają, bez konieczności samodzielnego żądania lokalizacji. Ten dostawca zwróci lokalizacje wygenerowane przez innych dostawców. Wymaga uprawnienia android.permission.ACCESS_FINE_LOCATION, chociaż jeśli GPS nie jest włączony, ten dostawca może zwracać tylko zgrubne poprawki. Oto, co Android nazywa tymi dostawcami lokalizacji, jednak podstawowe technologie, które sprawiają, że te rzeczy działają, są mapowane na określony zestaw sprzętu i możliwości oferowanych przez telekomunikację (usługa sieciowa).
Najlepszym sposobem jest skorzystanie najpierw z dostawcy „sieciowego” lub „pasywnego”, a następnie awaryjne połączenie z „gps” i, w zależności od zadania, przełączanie się między dostawcami. Obejmuje to wszystkie przypadki i zapewnia usługę najniższego wspólnego mianownika (w najgorszym przypadku) i doskonałą obsługę (w najlepszym przypadku).
Odniesienie do artykułu: Dostawcy lokalizacji dla Androida - GPS, sieć, pasywne Nazmul Idris
Odniesienie do kodu: https://stackoverflow.com/a/3145655/28557
-----------------------Aktualizacja-----------------------
Teraz Android ma dostawcę lokalizacji Fused
Dostawca lokalizacji Fused Location inteligentnie zarządza podstawową technologią lokalizacji i zapewnia najlepszą lokalizację zgodnie z Twoimi potrzebami. Upraszcza sposoby uzyskiwania przez aplikacje aktualnej lokalizacji użytkownika z większą dokładnością i mniejszym zużyciem energii
Dostawca lokalizacji Fused zapewnia trzy sposoby pobierania lokalizacji
- Ostatnia lokalizacja: użyj, jeśli chcesz raz poznać bieżącą lokalizację.
- Żądaj lokalizacji za pomocą nasłuchiwania: użyj, gdy aplikacja jest na ekranie / interfejsie i wymaga ciągłej lokalizacji.
- Żądaj lokalizacji przy użyciu oczekujących zamiarów: użyj, gdy aplikacja działa w tle i wymaga ciągłej lokalizacji.
Bibliografia :
Oficjalna strona: http://developer.android.com/google/play-services/location.html
Przykład dostawcy lokalizacji połączonej: GIT: https://github.com/kpbird/fused-location-provider-example
http://blog.lemberg.co.uk/fused-location-provider
-------------------------------------------------- ------