On dirait qu'il y a un moyen:
adb shell emplacement dumpsys> dumpsys.txt
Cela vous donnera un fichier avec toutes les informations de service de localisation. Dans ce fichier, recherchez 'Last Known Locations'
et vous devriez voir quelque chose comme:
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}]}]
Bien sûr, la liste comprendra une autre entrée si le fournisseur GPS est activé sur l'appareil.
En utilisant le code Android, j'ai essayé de savoir comment les applications obtiennent l'emplacement lorsqu'elles utilisent LocationManager.getLastKnownLocation (). Après un peu de suivi, je me suis retrouvé dans LocationManagerService ici . qui implémente getLastLocation ainsi qu'une fonction de vidage.
Pour autant que je sache, les coordonnées ne sont enregistrées dans aucun fichier. Ils sont stockés en mémoire dans une table de hachage et sauvegardés pour la commande dumpsys. Cela explique également pourquoi une recherche de hiérarchie de répertoire n'a révélé aucun fichier avec des informations gps.
Si vous voulez ces informations dans un format plus standard, vous devrez suivre l'itinéraire de l'application et aller avec quelque chose comme ça . Cette application exporte les informations dans un GPS ou un fichier KML que vous pouvez alimenter en applications géo-basées.
PS: Cela fonctionne aussi bien sur un appareil non rooté.
adb shell dumpsys location > dumpsys.txt
pour afficher le résultat dans le fichier.adb shell
, lesLast Known Locations
informations sont toujours vides même si j'active manuellement le GPS.