बैकग्राउंड में जगह की जानकारी का अनुरोध करना

इस पेज पर, इन विषयों के बारे में बताया गया है:

  • बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति का अनुरोध करने का तरीका.
  • आपके ऐप्लिकेशन के टारगेट एसडीके वर्शन के हिसाब से, अनुरोध को मैनेज करने का तरीका.
  • जगह की जानकारी के लिए, उपयोगकर्ता की प्राथमिकताओं से, आपके ऐप्लिकेशन को बैकग्राउंड में जगह की जानकारी कैसे मिलती है.
आंकड़ा 7. सेटिंग वाले पेज पर, हमेशा के लिए अनुमति दें नाम का एक विकल्प होता है. इससे, बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति मिलती है.

अनुमति वाले डायलॉग बॉक्स का कॉन्टेंट, टारगेट एसडीके वर्शन पर निर्भर करता है

जब आपके ऐप्लिकेशन की कोई सुविधा, Android 10 (एपीआई लेवल 29) पर चलने वाले डिवाइस पर, बैकग्राउंड में जगह की जानकारी ऐक्सेस करने का अनुरोध करती है, तो सिस्टम की अनुमतियों वाले डायलॉग बॉक्स में, हमेशा के लिए अनुमति दें नाम का एक विकल्प दिखता है. अगर उपयोगकर्ता इस विकल्प को चुनता है, तो आपके ऐप्लिकेशन की सुविधा को बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति मिल जाती है.

हालांकि, Android 11 (एपीआई लेवल 30) और उसके बाद के वर्शन पर, सिस्टम के डायलॉग बॉक्स में हमेशा के लिए अनुमति दें विकल्प नहीं दिखता. इसके बजाय, उपयोगकर्ताओं को सेटिंग वाले पेज पर जाकर, बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति चालू करनी होती है. जैसा कि आंकड़े 7 में दिखाया गया है.

बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति का अनुरोध करते समय, सबसे सही तरीकों का पालन करके, उपयोगकर्ताओं को सेटिंग वाले इस पेज पर ले जाने में मदद की जा सकती है. अनुमति देने की प्रोसेस, आपके ऐप्लिकेशन के टारगेट एसडीके वर्शन पर निर्भर करती है.

ऐप्लिकेशन, Android 11 या उसके बाद के वर्शन को टारगेट करता है

अगर आपके ऐप्लिकेशन को ACCESS_BACKGROUND_LOCATION अनुमति नहीं मिली है और shouldShowRequestPermissionRationale() की वैल्यू true है, तो उपयोगकर्ताओं को शिक्षा देने वाला यूज़र इंटरफ़ेस (यूआई) दिखाएं. इसमें ये जानकारी शामिल होनी चाहिए:

  • इस बारे में साफ़ तौर पर जानकारी कि आपके ऐप्लिकेशन की सुविधा को बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति क्यों चाहिए.
  • सेटिंग के उस विकल्प का लेबल जो उपयोगकर्ताओं को दिखता है और जिससे बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति मिलती है. उदाहरण के लिए, आंकड़े 7 में हमेशा के लिए अनुमति दें. यह लेबल पाने के लिए, getBackgroundPermissionOptionLabel() को कॉल किया जा सकता है. इस तरीके की रिटर्न वैल्यू, उपयोगकर्ता के डिवाइस की भाषा की प्राथमिकता के हिसाब से स्थानीय भाषा में होती है.
  • उपयोगकर्ताओं के लिए, अनुमति को अस्वीकार करने का विकल्प. अगर उपयोगकर्ता, बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति को अस्वीकार करते हैं, तो वे आपके ऐप्लिकेशन का इस्तेमाल जारी रख पाएंगे.
उपयोगकर्ता, किसी ऐप्लिकेशन के लिए जगह की जानकारी की सेटिंग बदलने के लिए, सिस्टम की सूचना पर टैप कर सकते हैं
आंकड़ा 8. सूचना, जिसमें उपयोगकर्ता को याद दिलाया जाता है कि उसने किसी ऐप्लिकेशन को बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति दी है.

ऐप्लिकेशन, Android 10 या उससे पहले के वर्शन को टारगेट करता है

जब आपके ऐप्लिकेशन की कोई सुविधा, बैकग्राउंड में जगह की जानकारी ऐक्सेस करने की अनुमति का अनुरोध करती है, तो उपयोगकर्ताओं को सिस्टम का एक डायलॉग बॉक्स दिखता है. इस डायलॉग बॉक्स में, सेटिंग वाले पेज पर जाकर, आपके ऐप्लिकेशन की जगह की जानकारी ऐक्सेस करने की अनुमति के विकल्प देखने का विकल्प होता है.

अगर आपका ऐप्लिकेशन, जगह की जानकारी ऐक्सेस करने की अनुमति का अनुरोध करने के लिए, पहले से ही सबसे सही तरीकों का पालन करता है, तो आपको इस व्यवहार के लिए कोई बदलाव करने की ज़रूरत नहीं है.

उपयोगकर्ता, बैकग्राउंड में जगह की जानकारी की सटीक जानकारी पर असर डाल सकता है

अगर उपयोगकर्ता, जगह की सटीक जानकारी के बजाय आस-पास की जगह की जानकारी ऐक्सेस करने का अनुरोध करता है, तो जगह की जानकारी ऐक्सेस करने की अनुमति वाले डायलॉग बॉक्स में उपयोगकर्ता के चुने गए विकल्प, बैकग्राउंड में जगह की जानकारी ऐक्सेस करने पर भी लागू होते हैं. दूसरे शब्दों में, अगर उपयोगकर्ता आपके ऐप्लिकेशन को ACCESS_BACKGROUND_LOCATION अनुमति देता है, लेकिन फ़ोरग्राउंड में सिर्फ़ आस-पास की जगह की जानकारी ऐक्सेस करने की अनुमति देता है, तो आपके ऐप्लिकेशन को बैकग्राउंड में भी सिर्फ़ आस-पास की जगह की जानकारी ऐक्सेस करने की अनुमति मिलती है.

अन्य संसाधन

Android में जगह की जानकारी ऐक्सेस करने की अनुमतियों के बारे में ज़्यादा जानने के लिए, यह लेख पढ़ें:

कोडलैब

वीडियो

सैंपल