Parece que hay una manera:
adb shell ubicación dumpsys> dumpsys.txt
Esto le dará un archivo con toda la información del servicio de ubicación. En este archivo, busque 'Last Known Locations'
y debería ver algo como:
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}]}]
Por supuesto, la lista incluirá otra entrada si tiene el proveedor de GPS habilitado en el dispositivo.
A partir del código de Android, traté de descubrir cómo las aplicaciones obtienen la ubicación cuando usan LocationManager.getLastKnownLocation (). Después de un poco de seguimiento, terminé en LocationManagerService aquí . que implementa getLastLocation y también una función de volcado.
Las coordenadas no se almacenan en ningún archivo por lo que puedo decir. Se almacenan en la memoria en un hashmap y se vuelcan para el comando dumpsys. Esto también explica por qué una búsqueda de jerarquía de directorio no reveló ningún archivo con información gps.
Si desea esta información en un formato más estándar, deberá tomar la ruta de la aplicación e ir con algo como esto . Esta aplicación exporta la información en un archivo GPS o KML que puede alimentar a aplicaciones basadas en geo.
PD: Esto también funciona en dispositivos no rooteados.
adb shell dumpsys location > dumpsys.txt
para generar el resultado en el archivo.adb shell
, laLast Known Locations
información siempre está vacía, incluso habilito manualmente el GPS.