답변:
방법이있는 것 같습니다.
adb 쉘 dumpsys 위치> dumpsys.txt
모든 위치 서비스 정보가 포함 된 파일이 제공됩니다. 이 파일을 검색 'Last Known Locations'
하면 다음과 같은 내용이 표시됩니다.
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}]}]
물론 장치에서 GPS 공급자를 활성화 한 경우 목록에 다른 항목이 포함됩니다.
안드로이드 코드로 이동하여 앱이 LocationManager.getLastKnownLocation ()을 사용할 때 위치를 얻는 방법을 찾으려고 노력했습니다. 약간의 후, 나는 LocationManagerService 여기 에서 끝났다 . getLastLocation 및 덤프 함수를 구현합니다.
내가 알 수있는 한 좌표는 파일에 저장되지 않습니다. 이들은 해시 맵의 메모리에 저장되며 dumpsys 명령을 위해 덤프됩니다. 또한 디렉토리 계층 구조 검색에서 gps info가 포함 된 파일이 표시되지 않은 이유를 설명합니다.
좀 더 표준 형식으로이 정보를 원한다면, 당신은 응용 프로그램의 경로를 가지고 같은 갈 필요가있을 것이다 이 . 이 앱은 지리 기반 앱에 피드 할 수있는 GPS 또는 KML 파일로 정보를 내 보냅니다.
추신 : 이것은 뿌리가없는 장치에서도 작동합니다.
adb shell
는 Last Known Locations
심지어 내가 수동으로 GPS를 사용 정보는 항상 비어 있습니다.
adb shell dumpsys location > dumpsys.txt
결과를 파일로 출력하십시오.