Jawaban:
Sepertinya ada caranya:
adb shell dumpsys location> dumpsys.txt
Ini akan memberi Anda file dengan semua informasi layanan lokasi. Dalam pencarian file ini 'Last Known Locations'
dan Anda akan melihat sesuatu seperti:
passive: Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{noGPSLocation=Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{coarseLocation=Location[network 92.918919,55.603997 acc=2000 et=+1d4h10m34s255ms]}]}], networkLocationSource=cached, networkLocationType=wifi, travelState=stationary}]}]
network: Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{noGPSLocation=Location[network 92.915479,55.610965 acc=22 et=+1d4h10m34s255ms {Bundle[{coarseLocation=Location[network 92.918919,55.603997 acc=2000 et=+1d4h10m34s255ms]}]}], networkLocationSource=cached, networkLocationType=wifi, travelState=stationary}]}]
Tentu saja, daftar akan memasukkan entri lain jika penyedia GPS Anda diaktifkan di perangkat.
Pergi dengan kode android, saya mencoba mencari tahu bagaimana aplikasi mendapatkan lokasi ketika mereka menggunakan LocationManager.getLastKnownLocation (). Setelah sedikit mengikuti, saya berakhir di LocationManagerService di sini . yang mengimplementasikan getLastLocation dan juga fungsi dump.
Koordinat tidak disimpan dalam file apa pun sejauh yang saya tahu. Mereka disimpan dalam memori dalam hashmap dan dibuang untuk perintah dumpsys. Ini juga menjelaskan mengapa pencarian hierarki direktori tidak mengungkapkan file dengan info gps.
Jika Anda ingin info ini dalam format yang lebih standar, Anda perlu mengambil rute aplikasi dan menggunakan yang seperti ini . Aplikasi ini mengekspor info dalam GPS atau file KML yang dapat Anda masukkan ke dalam aplikasi berbasis geo.
PS: Ini juga berfungsi pada perangkat yang tidak di-rooting.
adb shell
, Last Known Locations
info selalu kosong bahkan saya secara manual mengaktifkan GPS.
adb shell dumpsys location > dumpsys.txt
untuk menampilkan hasilnya ke file.