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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अन्य संसाधन

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

कोडलैब

वीडियो

सैंपल