Ada 3 penyedia lokasi di Android.
Mereka:
gps -> (GPS, AGPS): Nama penyedia lokasi GPS. Penyedia ini menentukan lokasi menggunakan satelit. Tergantung pada kondisinya, penyedia ini mungkin perlu waktu untuk mengembalikan perbaikan lokasi. Membutuhkan izin android.permission.ACCESS_FINE_LOCATION.
network -> (AGPS, CellID, WiFi MACID): Nama penyedia lokasi jaringan. Penyedia ini menentukan lokasi berdasarkan ketersediaan menara seluler dan titik akses WiFi. Hasil diambil melalui pencarian jaringan. Membutuhkan salah satu dari izin android.permission.ACCESS_COARSE_LOCATION atau android.permission.ACCESS_FINE_LOCATION.
pasif -> (CellID, WiFi MACID): Penyedia lokasi khusus untuk menerima lokasi tanpa benar-benar melakukan perbaikan lokasi. Penyedia ini dapat digunakan untuk secara pasif menerima pembaruan lokasi ketika aplikasi atau layanan lain meminta mereka tanpa benar-benar meminta lokasi itu sendiri. Penyedia ini akan mengembalikan lokasi yang dihasilkan oleh penyedia lain. Membutuhkan izin android.permission.ACCESS_FINE_LOCATION, meskipun jika GPS tidak diaktifkan penyedia ini mungkin hanya mengembalikan perbaikan kasar. Inilah yang disebut Android penyedia lokasi ini, namun, teknologi yang mendasari untuk membuat pekerjaan ini dipetakan ke perangkat keras dan kemampuan telekomunikasi yang disediakan khusus (layanan jaringan).
Cara terbaik adalah dengan menggunakan penyedia "jaringan" atau "pasif" terlebih dahulu, dan kemudian mundur pada "gps", dan tergantung pada tugasnya, beralihlah antara penyedia. Ini mencakup semua kasus, dan menyediakan layanan common denominator terendah (dalam kasus terburuk) dan layanan hebat (dalam kasus terbaik).
Referensi Artikel: Penyedia Lokasi Android - gps, jaringan, pasif Oleh Nazmul Idris
Referensi Kode: https://stackoverflow.com/a/3145655/28557
-----------------------Memperbarui-----------------------
Sekarang Android memiliki penyedia lokasi Fused
Penyedia Lokasi Fused mengelola teknologi lokasi yang mendasarinya dan memberi Anda lokasi terbaik sesuai dengan kebutuhan Anda. Ini menyederhanakan cara aplikasi untuk mendapatkan lokasi pengguna saat ini dengan akurasi yang ditingkatkan dan penggunaan daya yang lebih rendah
Penyedia lokasi menyatu menyediakan tiga cara untuk mengambil lokasi
- Lokasi Terakhir: Gunakan ketika Anda ingin mengetahui lokasi saat ini sekali.
- Minta Lokasi menggunakan Pendengar: Gunakan saat aplikasi ada di layar / tampilan depan dan meminta lokasi berlanjut.
- Minta Lokasi menggunakan Pending Intent: Gunakan saat aplikasi di latar belakang dan membutuhkan lokasi yang berkelanjutan.
Referensi :
Situs resmi: http://developer.android.com/google/play-services/location.html
Contoh penyedia lokasi yang menyatu: GIT: https://github.com/kpbird/fused-location-provider-example
http://blog.lemberg.co.uk/fused-location-provider
-------------------------------------------------- ------