Một cách để có được tọa độ vị trí từ dòng lệnh


10

Tôi đang tìm kiếm một dòng lệnh hoặc một loạt các lệnh có thể kết xuất hoặc liệt kê vĩ độ và kinh độ trên một thiết bị đã root.

Tôi kết nối với một thiết bị bằng vỏ ADB. Một cách sẽ làm cho tọa độ được ghi vào dòng lệnh cũng tốt cho tôi.

Câu trả lời:


11

Hình như có một cách:

vị trí đổ vỏ adb> dumpsys.txt

Điều này sẽ cung cấp cho bạn một tập tin với tất cả các thông tin dịch vụ vị trí. Trong tập tin này tìm kiếm 'Last Known Locations'và bạn sẽ thấy một cái gì đó như:

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}]}]

Tất nhiên, danh sách sẽ bao gồm một mục khác nếu bạn bật nhà cung cấp GPS trên thiết bị.

Đi theo mã android, tôi đã cố gắng tìm hiểu làm thế nào các ứng dụng có được vị trí khi họ sử dụng LocationManager.getLastKnownLocation (). Sau một chút theo dõi, tôi đã kết thúc với LocationManagerService tại đây . trong đó thực hiện getLastLocation và cũng là một hàm dump.

Các tọa độ không được lưu trữ trong bất kỳ tập tin như tôi có thể nói. Chúng được lưu trữ trong bộ nhớ trong một hashmap và được đổ cho lệnh dumpsys. Điều này cũng giải thích tại sao một tìm kiếm gia truyền thư mục không tiết lộ bất kỳ tập tin với thông tin gps.

Nếu bạn muốn thông tin này ở định dạng chuẩn hơn, bạn sẽ cần đi theo lộ trình ứng dụng và đi với một cái gì đó như thế này . Ứng dụng này xuất thông tin trong GPS hoặc tệp KML mà bạn có thể cung cấp cho các ứng dụng dựa trên địa lý.

PS: Điều này cũng hoạt động trên thiết bị không root.


1
Đối với người dùng Windows: adb shell dumpsys location > dumpsys.txtđể xuất kết quả ra tệp.
Andrew T.

Tôi cố gắng phát hiện trạng thái GPS (chủ động, thụ động) thông qua trình giả lập bằng cách sử dụng adb shell, Last Known Locationsthông tin luôn trống ngay cả khi tôi bật GPS theo cách thủ công.
Talha06
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.