21

मैं एक एंड्रॉइड ऐप बना रहा हूं जो उपयोगकर्ता के भौगोलिक स्थान को ट्रैक करेगा और नक्शे पर अपना मार्ग खींचेंगे।मुझे ACCESS_COARSE_LOCATION अनुमति का उपयोग कब करना चाहिए?

मैं Google Play Services स्थान API का उपयोग कर रहा हूं, जैसा कि here वर्णित है।

यह सहज है कि अपने आवेदन ACCESS_FINE_LOCATION अनुमति है, जो मैं प्रकट में डाल की आवश्यकता है:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

मैं भी ACCESS_COARSE_LOCATION अनुमति की जरूरत है? उपयोग का मामला क्या है जहां मुझे मोटे स्थान की आवश्यकता है?

+0

हैं 'ACCESS_COARSE_LOCATION' केवल' NETWORK_PROVIDER' नहीं 'GPS' –

+1

@IntelliJAmiya के लिए अनुमति में शामिल हैं: मुझे पूरा यकीन है कि आप अभी भी 'मोर्स_PROVIDER' का उपयोग केवल मोटे अनुमति के साथ कर सकते हैं, लेकिन गोपनीयता के लिए डेटा को गलत तरीके से पेश करने के लिए परेशान किया जाएगा। – CommonsWare

+0

@ कॉमन्सवेयर सर। आपकी जानकारी के लिए धन्यवाद । –

उत्तर

31

क्या मुझे ACCESS_COARSE_LOCATION अनुमति की भी आवश्यकता है?

सं

उपयोग मामले में जहां मैं ख़राब स्थान की जरूरत क्या है?

आप ACCESS_FINE_LOCATION के लिए पूछना नहीं करते हैं, लेकिन आप स्थान डेटा की जरूरत है, और आप तैयार हैं कि डेटा फजी होने के लिए (जैसे कि, उपयोगकर्ता की स्थिति से शहर के एक खंड के आसपास तक)। LocationManager के मामले में, आप केवल NETWORK_PROVIDER का उपयोग कर सकते हैं; Play Services के स्थान पर स्थान प्रदाता के मामले में, उन्हें आंतरिक रूप से इसे संभालना चाहिए।

एक बार एक समय पर, बहुत समय पहले, उपयोगकर्ताओं को इंस्टॉल समय पर बताया गया था कि ऐप मोटे या ठीक स्थान की पहुंच चाहता था या नहीं। उपयोगकर्ता उन ऐप्स को स्वीकार कर सकते हैं जो मोटे पहुंच चाहते थे लेकिन उन ऐप्स को अस्वीकार कर सकते थे जो ठीक पहुंच चाहते थे।

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

+3

अच्छी तरह से विस्तारित। –

+0

हम Google Play सेवा में स्थान प्रदाता में स्थान प्रदाता को कैसे जानते हैं? यह नेटवर्क्स_PROVIDER या GPS_PROVIDER से आ सकता है। –

+0

@ रोहितबंदिल: आप नहीं जानते कि फ़्यूज्ड लोकेशन एपीआई क्या उपयोग करेगा। आप जो भी चाहें फ़्यूज्ड लोकेशन एपीआई बताते हैं। यह वहां से तय करेगा। और, AFAIK, यदि आपके पास केवल 'ACCESS_COARSE_LOCATION' है, तो यह आपको "अस्पष्ट" परिणाम देगा। – CommonsWare

3

नहीं, आपको मोटे स्थान का उपयोग करने की आवश्यकता नहीं है।

मोटे स्थान नेटवर्क प्रदाता के स्थान के लिए है और ठीक स्थान दोनों जीपीएस प्रदाता और नेटवर्क स्थान प्रदाता दोनों के लिए है। तो ठीक स्थान दोनों को कवर करता है और आपको किसी अन्य का उपयोग करने की आवश्यकता नहीं है।

this आपके संदर्भ के लिए एक लिंक है।

0

स्थान दो तरीके से निर्धारित किया जा सकता है:

Using NETWORK_PROVIDER 
Using GPS_PROVIDER 
  1. NETWORK_PROVIDER

    एंड्रॉयड इस प्रदाता का उपयोग कर के लिए आवश्यक अनुमतियों का उपयोग या तो ACCESS_COARSE_LOCATION या ACCESS_FINE_LOCATION हैं।

  2. का उपयोग GPS_PROVIDER

    एंड्रॉयड इस प्रदाता का उपयोग कर के लिए आवश्यक अनुमतियों केवल ACCESS_FINE_LOCATION

संबंधित मुद्दे

 संबंधित मुद्दे