क्या शेल के माध्यम से स्थान सेवाओं को सक्षम करना संभव है?


14

क्या ADB या टर्मिनल एमुलेटर के माध्यम से स्थान सेवाओं (GPS या Google NetworkLocation) को सक्षम करना संभव है? मैं रूटेड फोन पर हूं।

अतिरिक्त अंक: क्या सिस्टम से संबंधित अन्य सेटिंग्स को बदलना भी संभव है?



2
@ मुझे लगता है कि यह पूरी तरह से एक डुप्लिकेट नहीं है।
मैथ्यू पढ़ें

2
@ इज़ी संबंधित नहीं है। आपके द्वारा लिंक किए गए प्रश्न का स्थान सेवाओं से कोई लेना-देना नहीं है।
भगवानदेव

1
@ लॉर्डदेव नहीं, उनका स्पष्ट उल्लेख नहीं है। लेकिन आप स्थान सेवाओं के इरादे को कॉल करने के लिए उसी कोड का उपयोग कर सकते हैं। जो मुझे थोड़ा भ्रमित करता है वह है मेरी टिप्पणी की फंतासी, जो "प्रत्यक्ष हिट" का सुझाव देती है (और यहां आप दोनों सही हैं: यह बिल्कुल समान नहीं है)। कहना मुश्किल है, आधे साल बाद, मेरे मन में फिर क्या था ...
Izzy

जवाबों:


12

क्या ADB या टर्मिनल एमुलेटर के माध्यम से स्थान सेवाओं (GPS या Google NetworkLocation) को सक्षम करना संभव है?

आदेश है:

adb shell settings put secure location_providers_allowed gps

कहाँ पे,

  • settingsमें परिवर्तन करेगा settings.db(का हिस्सा com.android.providers.settings)
  • putतालिका में location_providers_allowedमान के साथ कुंजी अद्यतन करना है ।gpssecure

पूर्वोक्त आदेश Google की स्थान सेवा को सक्षम नहीं करेगा। इसे सक्षम करने के लिए, आदेश जारी करें:

adb shell settings put secure location_providers_allowed gps,network

आपको स्थान सेवाओं के लिए सहमत होने के लिए एक पॉपअप दिखाया जाएगा। अपने एंड्रॉइड 4.2.1 में, मुझे GUI या input keyeventहर बार जब मैं इस सेवा को खरोंच से सक्षम करता हूं तो सहमत होना पड़ता है ।

                                                                    IMG: 4.2.1

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

                                                                    IMG: 5.0

लॉलीपॉप वाले कुछ उपकरणों में तीन स्थान मोड होते हैं, और पूर्वोक्त कमांड में पारित किए जाने वाले प्रासंगिक मूल्य निम्न होंगे:

  • उच्च सटीकता: gps,wifi,networkया gps,network(यदि आप वाई-फाई सक्षम नहीं करना चाहते हैं)
  • बैटरी की बचत: wifi,networkया networkकेवल
  • केवल डिवाइस: gps

स्थान मोड को अक्षम करने के लिए

adb shell settings put secure location_providers_allowed ' '

क्या सिस्टम से संबंधित अन्य सेटिंग्स को बदलना भी संभव है?

देख :

लेकिन मैंने पहले से ही एक बड़ा विचार दिया settings put


क्या इसे प्राप्त करना संभव होगा, लेकिन डिवाइस के कंसोल से, बाहरी कंप्यूटर के एडीबी के माध्यम से नहीं?
डेविड

1
हाँ बिल्कुल। आपको डिवाइस पर रूट एक्सेस या एडीबी वायरलेस रनिंग की आवश्यकता होगी। पर एक नजर डालें इस उत्तर के लिए एक उदाहरण के रूप में। आपको अंदाजा हो जाएगा।
Firelord

यह एंड्रॉइड 5 पर काम करता था, लेकिन यह अब एंड्रॉइड 6 पर नहीं है। रूट के साथ या इसके बिना सेटिंग में बदलाव नहीं होता है और सिस्टम पर कॉन्फ़िगर किए गए समान रहता है। शायद इसका कुछ मतलब नहीं है कि यह location_providers_allowed( डेवलपर . android.com/reference/android/provider/… ) होने के नाते । विचार?
gw0

यदि आप बस GPS कार्यक्षमता चालू / बंद करना चाहते हैं, तो आप सेटिंग स्थान पृष्ठ पर जा सकते हैं, फिर स्विच बटन पर क्लिक करें। यह ऑपरेशन कमांड द्वारा भी प्राप्त किया जा सकता है: adb shell am start -a android.settings.LOCATION_SOURCE_SETTINGSफिर स्विच बटन पर क्लिक करें।
एडी

13

Android 6.0 के लिए

उपयोग सक्षम करने के लिए:

GPS के लिए: adb shell settings put secure location_providers_allowed +gps

नेटवर्क के लिए: adb shell settings put secure location_providers_allowed +network

निष्क्रिय करने के लिए :

GPS : adb shell settings put secure location_providers_allowed -gps

नेटवर्क के लिए: adb shell settings put secure location_providers_allowed -network


यह मेरे लिए काम किया, स्वीकृत उत्तर नहीं।
TheMonkeyKing

धन्यवाद, यह काम करता है। वैसे भी हम एक पंक्ति एडीबी कमांड के साथ जीपीएस और नेटवर्क को सक्षम / अक्षम कर सकते हैं। मुझे इसकी उच्च सटीकता लोकोटन के लिए चाहिए। जीपीएस + नेटवर्क = उच्च सटीकता
सुबान ध्यानको

4

Android स्थान सेवा विभिन्न विकल्पों के साथ आती है:

1) उच्च सटीकता: gps, network

सक्षम करें: adb shell settings put secure location_providers_allowed +gps,network

अक्षम: adb shell settings put secure location_providers_allowed -gps,network

2) फोन केवल: gps

सक्षम करें: adb shell settings put secure location_providers_allowed +gps

अक्षम: adb shell settings put secure location_providers_allowed -gps

3) बैटरी की बचत: network

सक्षम करें: adb shell settings put secure location_providers_allowed +network

अक्षम: adb shell settings put secure location_providers_allowed -network


0

location_providers_allowed अब एंड्रॉइड 10 (एपीआई स्तर 29) के लिए काम नहीं करता है।

इसके बजाय, आप सेट कर सकते हैं location_modeकरने के लिए LOCATION_MODE_HIGH_ACCURACY3 के एक मूल्य के साथ:

adb shell settings put secure location_mode 3

ध्यान दें: संभवतः काम नहीं करेगा> v29 क्योंकि यह पहले से ही स्थान मोड उल्लेख पर डॉक्स के रूप में पदावनत है:

यह लगातार एपीआई स्तर 28. स्थान मोड जाँच और परिवर्तन के लिए के माध्यम से कर रहे हैं सुनने के लिए पसंदीदा तरीकों में पदावनत किया गया था LocationManager#isLocationEnabled()और LocationManager#MODE_CHANGED_ACTION

एक बार इस निरंतर गायब हो जाने के बाद शेल के माध्यम से ऐसा करने का कोई प्रोग्राम नहीं पता।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.