Способ получения координат местоположения из командной строки

10

Я ищу командную строку или серию команд, которые могут вывести или отобразить широту и долготу на корневом устройстве.

Я подключаюсь к устройству, используя оболочку ADB. Способ, при котором координаты будут записываться в командную строку, также хорош для меня.

эрб
источник

Ответы:

11

Похоже, есть способ:

Оболочка 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.

Исходя из кода Android, я попытался выяснить, как приложения получают местоположение, когда они используют LocationManager.getLastKnownLocation (). После небольшого количества следующего я оказался в LocationManagerService здесь . который реализует getLastLocation, а также функцию дампа.

Насколько я могу судить, координаты не хранятся ни в одном файле. Они хранятся в памяти в hashmap и выгружаются для команды dumpsys. Это также объясняет, почему поиск по иерархии каталогов не выявил никаких файлов с информацией о gps.

Если вы хотите эту информацию в более стандартном формате, вам нужно будет принять маршрут приложения и идти с чем - то вроде этого . Это приложение экспортирует информацию в файл GPS или KML, который вы можете использовать в приложениях на основе гео.

PS: Это работает и на некорневом устройстве.

Рохан
источник
1
Для пользователя Windows: adb shell dumpsys location > dumpsys.txtвывести результат в файл.
Эндрю Т.
Я пытаюсь определить состояние GPS (активный, пассивный) с помощью эмулятора adb shell, Last Known Locationsинформация всегда пуста, даже если я вручную включил GPS.
talha06