android - मुझे ACCESS_COARSE_LOCATION अनुमति का उपयोग कब करना चाहिए?




google-play-services android-permissions (2)

मैं एक एंड्रॉइड ऐप बना रहा हूं जो उपयोगकर्ता के जियोलोकेशन को ट्रैक करेगा और उनके मार्ग को मानचित्र पर खींचेगा।

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

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

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

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


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

नहीं।

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

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

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

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


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

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

NETWORK_PROVIDER या GPS_PROVIDER से स्थान अपडेट प्राप्त करने के लिए, आपको अपने Android प्रकट फ़ाइल में क्रमशः ACCESS_COARSE_LOCATION या ACCESS_FINE_LOCATION अनुमति की घोषणा करके उपयोगकर्ता की अनुमति का अनुरोध करना चाहिए। इन अनुमतियों के बिना, आपका एप्लिकेशन स्थान अपडेट का अनुरोध करते समय रनटाइम में विफल हो जाएगा।

यदि आप दोनों NETWORK_PROVIDER और GPS_PROVIDER का उपयोग कर रहे हैं, तो आपको केवल ACCESS_FINE_LOCATION अनुमति का अनुरोध करने की आवश्यकता है, क्योंकि इसमें दोनों प्रदाताओं की अनुमति शामिल है। ACCESS_COARSE_LOCATION की अनुमति केवल NETWORK_PROVIDER तक ही पहुँच देती है।

This आपके संदर्भ के लिए एक कड़ी है।





google-geolocation