हल: कैसे जांचें कि एंड्रॉइड स्थान सक्षम है या नहीं

यह जांचने के तरीके के बारे में एक व्यापक लेख लिखने के लिए कि एंड्रॉइड डिवाइस पर कोई स्थान सक्षम है या नहीं, जावा प्रोग्रामिंग की पर्याप्त समझ और विभिन्न एंड्रॉइड लाइब्रेरीज़ के उपयोग की आवश्यकता हो सकती है। इस प्रकार, आइए इस पर गहराई से गौर करें।

समकालीन मोबाइल एप्लिकेशन परिदृश्य में, उपयोगकर्ता की भौगोलिक स्थिति के आधार पर व्यक्तिगत अनुभव प्रदान करने के लिए उपयोगकर्ता के स्थान तक पहुंच महत्वपूर्ण हो गई है। यह कार्यक्षमता Android द्वारा संचालित उपकरणों में प्रचुर मात्रा में उपलब्ध है। हालाँकि, यह निर्धारित करना भी एक महत्वपूर्ण पहलू है कि स्थान सक्षम है या नहीं।

public boolean isLocationEnabled(Context context) {
    int locationMode = 0;
    String locationProviders;

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        try {
            locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);

        } catch (Settings.SettingNotFoundException e) {
            e.printStackTrace();
        }

        return locationMode != Settings.Secure.LOCATION_MODE_OFF;

    } else {
        locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
        return !TextUtils.isEmpty(locationProviders);
    }
}

कोड को समझना

ऊपर दिया गया कोड दो मुख्य चरणों में जाँचता है कि किसी एंड्रॉइड डिवाइस पर स्थान सेवाएँ सक्षम हैं या नहीं:

- यदि डिवाइस संस्करण किटकैट या उससे ऊपर है, तो यह स्थान मोड सेटिंग प्राप्त करने का प्रयास करता है और सत्यापित करता है कि यह 'स्थान मोड बंद' के अलावा अन्य है या नहीं। यदि ऐसा है, तो यह पुष्टि करता है कि स्थान सक्षम है।
- किटकैट से पुराने संस्करणों पर चलने वाले उपकरणों के लिए, यह अनुमत स्थान प्रदाताओं की सूची प्राप्त करता है और जांचता है कि क्या यह विशेष रूप से खाली है। यदि सूची खाली नहीं है, तो यह पुष्टि हो गई है कि स्थान सक्षम है।

विभिन्न पुस्तकालयों और कार्यों की भूमिका

इस कोड में, हमने कुछ विशिष्ट फ़ंक्शंस और लाइब्रेरीज़ का उपयोग किया है, मुख्य रूप से एंड्रॉइड डेवलपर किट से:

  • बिल्ड.संस्करण.SDK_INT: यह एक ऐसा फ़ील्ड है जो डिवाइस पर वर्तमान में चल रहे प्लेटफ़ॉर्म का SDK संस्करण रखता है।
  • सेटिंग्स.सुरक्षित: यह एक ऐसा वर्ग है जो वैश्विक सुरक्षित सिस्टम सेटिंग्स तक पहुंच का प्रबंधन करता है, मुख्य रूप से सिस्टम सेटिंग्स जो उपयोगकर्ता की गोपनीयता को प्रभावित करती हैं।
  • सेटिंग्स.सुरक्षित.getInt: यह विधि किसी दिए गए नाम के लिए सुरक्षित पूर्णांक सेटिंग मान लौटाती है।
  • सेटिंग्स.सुरक्षित.LOCATION_MODE: इसका उपयोग वर्तमान स्थान मोड सेटिंग प्राप्त करने के लिए किया जाता है।
  • सेटिंग्स.सुरक्षित.LOCATION_PROVIDERS_ALLOWED: अनुमत स्थान प्रदाताओं की सूची प्राप्त करता है।

विभिन्न Android संस्करणों के लिए समायोजन

एंड्रॉइड एक दशक में काफी विकसित हुआ है, और प्रत्येक संस्करण अपनी विशिष्ट सुविधाओं और सेटिंग्स के साथ आता है। इसलिए, शिक्षाप्रद कोड को विभिन्न एंड्रॉइड संस्करणों में प्रकट होने वाली सूक्ष्म बारीकियों को ध्यान में रखना चाहिए।

दिया गया कोड सभी एंड्रॉइड संस्करणों में सक्षम स्थान की व्यापक रूप से जांच करता है, किटकैट संस्करण पर विशेष ध्यान देने के साथ, जहां 'स्थान मोड' पेश किया गया था। यह द्वंद्व मूल्यांकन दृष्टिकोण को दो मुख्य श्रेणियों में विभाजित करता है - एक किटकैट और उससे ऊपर के एंड्रॉइड संस्करणों के लिए, और किटकैट से नीचे के संस्करणों के लिए एक अलग।

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

संबंधित पोस्ट:

एक टिप्पणी छोड़ दो