Apakah mungkin untuk mengaktifkan Layanan Lokasi (GPS atau Google NetworkLocation) melalui ADB atau Terminal Emulator? Saya di Telepon yang di-root.
Poin Tambahan: Apakah mungkin untuk mengubah pengaturan terkait sistem lainnya?
Apakah mungkin untuk mengaktifkan Layanan Lokasi (GPS atau Google NetworkLocation) melalui ADB atau Terminal Emulator? Saya di Telepon yang di-root.
Poin Tambahan: Apakah mungkin untuk mengubah pengaturan terkait sistem lainnya?
Jawaban:
Apakah mungkin untuk mengaktifkan Layanan Lokasi (GPS atau Google NetworkLocation) melalui ADB atau Terminal Emulator?
Perintahnya adalah:
adb shell settings put secure location_providers_allowed gps
dimana,
settings
akan membuat perubahan menjadi settings.db
(bagian dari com.android.providers.settings
)put
adalah memperbarui kunci location_providers_allowed
dengan nilai gps
dalam tabel secure
.Perintah di atas tidak akan mengaktifkan Layanan Lokasi Google. Untuk mengaktifkannya juga, berikan perintah:
adb shell settings put secure location_providers_allowed gps,network
Anda akan ditampilkan sembulan untuk menyetujui Layanan Lokasi. Di Android 4.2.1 saya, saya harus setuju melalui GUI atau input keyevent
setiap kali saya mengaktifkan layanan dari awal.
Namun, di Android 5.0 saya, saya dapat menyimpan pengaturan di dialog dan eksekusi perintah membuat hal-hal dilakukan dengan sempurna dari waktu berikutnya.
Beberapa perangkat seperti yang Lollipop memiliki tiga mode Lokasi, dan nilai yang relevan untuk diteruskan dalam perintah di atas adalah:
gps,wifi,network
atau gps,network
(jika Anda tidak ingin Wi-Fi diaktifkan)wifi,network
atau network
hanyagps
adb shell settings put secure location_providers_allowed ' '
Apakah mungkin untuk mengubah pengaturan terkait sistem lainnya?
Lihat :
Tapi saya sudah memberikan ide besar menggunakan settings put
.
location_providers_allowed
menjadi usang ( developer.android.com/reference/android/provider/… ). Ide ide?
adb shell am start -a android.settings.LOCATION_SOURCE_SETTINGS
lalu klik tombol sakelar.
Untuk Android 6.0
Untuk Mengaktifkan penggunaan:
Untuk GPS: adb shell settings put secure location_providers_allowed +gps
Untuk Jaringan: adb shell settings put secure location_providers_allowed +network
Untuk Menonaktifkan:
GPS: adb shell settings put secure location_providers_allowed -gps
Untuk Jaringan: adb shell settings put secure location_providers_allowed -network
Layanan Lokasi Android hadir dengan berbagai opsi:
1) Akurasi Tinggi: gps, network
Memungkinkan:
adb shell settings put secure location_providers_allowed +gps,network
Nonaktifkan:
adb shell settings put secure location_providers_allowed -gps,network
2) Hanya Telepon: gps
Memungkinkan:
adb shell settings put secure location_providers_allowed +gps
Nonaktifkan: adb shell settings put secure location_providers_allowed -gps
3) Hemat Baterai: network
Memungkinkan:
adb shell settings put secure location_providers_allowed +network
Nonaktifkan: adb shell settings put secure location_providers_allowed -network
location_providers_allowed
tidak lagi berfungsi untuk Android 10 (API level 29).
Sebagai gantinya, Anda dapat mengatur location_mode
ke LOCATION_MODE_HIGH_ACCURACY
dengan nilai 3:
adb shell settings put secure location_mode 3
CATATAN: Mungkin tidak akan berfungsi> v29 karena ini sudah usang karena dokumen pada Mode Lokasi menyebutkan:
Konstanta ini sudah tidak digunakan lagi di API level 28. Metode yang disukai untuk memeriksa mode lokasi dan mendengarkan perubahan adalah melalui
LocationManager#isLocationEnabled()
danLocationManager#MODE_CHANGED_ACTION
.
Tidak tahu apa cara terprogram untuk melakukan ini melalui shell akan begitu konstanta ini menghilang.