कमांड लाइन से स्थान निर्देशांक प्राप्त करने का तरीका


10

मैं एक कमांड लाइन, या कमांड की एक श्रृंखला की तलाश कर रहा हूं जो रूट किए गए डिवाइस पर अक्षांश और देशांतर को डंप या सूचीबद्ध कर सकती है।

मैं एडीबी शेल का उपयोग करके डिवाइस से कनेक्ट करता हूं। एक तरीका जो निर्देशांक को कमांड लाइन में लॉग इन करने का कारण बनेगा, वह भी मेरे लिए अच्छा है।

जवाबों:


11

ऐसा लगता है कि कोई रास्ता है:

adb शेल डंप्स लोकेशन> 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}]}]

यदि आपके पास डिवाइस पर जीपीएस प्रदाता सक्षम है, तो बेशक, सूची में एक और प्रविष्टि शामिल होगी।

Android कोड द्वारा जाने पर, मैंने यह पता लगाने की कोशिश की कि जब वे LocationManager.getLastKnownLocation () का उपयोग करते हैं, तो एप्लिकेशन को स्थान कैसे मिलता है। निम्नलिखित के बाद, मैंने यहां LocationManagerService को समाप्त किया । जो कार्यान्वयन getLastLocation और एक डंप फ़ंक्शन भी करता है।

निर्देशांक किसी भी फ़ाइल में संग्रहीत नहीं हैं जहाँ तक मैं बता सकता हूँ। उन्हें एक हैशमैप में मेमोरी में संग्रहीत किया जाता है और डंपस कमांड के लिए डंप किया जाता है। यह भी बताता है कि क्यों एक निर्देशिका उत्तराधिकार खोज ने जीपीएस जानकारी के साथ किसी भी फाइल को प्रकट नहीं किया।

यदि आप इस जानकारी को और अधिक मानक प्रारूप में चाहते हैं, तो आपको ऐप मार्ग को लेना होगा और कुछ इस तरह से जाना होगा । यह ऐप GPS या KML फ़ाइल में जानकारी को निर्यात करता है जिसे आप जियो आधारित ऐप में फीड कर सकते हैं।

PS: यह गैर-रूट किए गए डिवाइस पर भी काम करता है।


1
विंडोज उपयोगकर्ता के लिए: adb shell dumpsys location > dumpsys.txtपरिणाम को फ़ाइल में आउटपुट करने के लिए।
एंड्रयू टी

मैं एमुलेटर का उपयोग करके जीपीएस स्थिति (सक्रिय, निष्क्रिय) का पता लगाने की कोशिश करता हूं adb shell, Last Known Locationsजानकारी हमेशा खाली होती है यहां तक ​​कि मैं मैन्युअल रूप से जीपीएस को सक्षम करता हूं।
ताल्हा ०६
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.