5

एंड्रॉइड के लिए, यह आवश्यक है कि हम रनटाइम पर अनुमतियां मांगें ताकि यह सुनिश्चित किया जा सके कि उपयोगकर्ता बेहतर समझें कि अनुमतियों की आवश्यकता क्यों होती है। मुझे पता है कि WRITE_CALENDAR और ACCESS_FINE_LOCATION जैसी अनुमतियों के लिए यह सच है लेकिन ऐसा लगता है कि यह इंटरनेट के लिए आवश्यक नहीं है। अजीब नहीं है क्योंकि लगभग सभी ऐप्स इंटरनेट का उपयोग करते हैं।रनटाइम (एंड्रॉइड) पर आवश्यक इंटरनेट पर्सनल के लिए अनुरोध है?

क्या यह कहना सुरक्षित है कि मुझे इसे केवल प्रकट में घोषित करने की आवश्यकता है?

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

या मुझे हमेशा इसे रनटाइम पर जांचना चाहिए?

उत्तर

13

नहीं, आपको रनटाइम पर INTERNET अनुमति के लिए नहीं पूछना चाहिए।

सामान्य अनुमतियों सीधे उपयोगकर्ता की गोपनीयता का जोखिम नहीं है:

INTERNETNormal permissions समूह है, जो स्वचालित रूप से, के रूप में this document में वर्णित प्रणाली द्वारा प्रदान किए जाते हैं अगर वे प्रकट में घोषित कर रहे हैं के अंतर्गत आता है। यदि आपके ऐप में इसके मैनिफेस्ट में सामान्य अनुमति है, तो सिस्टम स्वचालित रूप से अनुमति देता है।

1
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

Your permission is right but you have to check internet connectivity before using any internet related function . You can check internet connected or not by following function 


public static boolean isNetworkOnline(Context con) 
    { 
     boolean status = false; 
     try 
     { 
      ConnectivityManager cm = (ConnectivityManager) con 
        .getSystemService(Context.CONNECTIVITY_SERVICE); 
      NetworkInfo netInfo = cm.getNetworkInfo(0); 

      if (netInfo != null && netInfo.getState() == State.CONNECTED) { 
       status = true; 
      } else { 
       netInfo = cm.getNetworkInfo(1); 

       if (netInfo != null && netInfo.getState() == State.CONNECTED) { 
        status = true; 
       } else { 
        status = false; 
       } 
      } 

     } catch (Exception e) { 
      e.printStackTrace(); 
      return false; 
     } 

     return status; 
    } 
1

इंटरनेट अनुमतियों पूर्व एसडीके 23 अनुमतियों के रूप में काम करते हैं। ऐप की स्थापना पर अनुमति दी जाती है।

इंटरनेट अनुमतियों को PROTECTION_NORMAL माना जाता है।

यदि कोई ऐप अपने मैनिफेस्ट में घोषित करता है कि उसे सामान्य अनुमति की आवश्यकता है, तो सिस्टम स्वचालित रूप से उस ऐप को अनुदान देता है जो इंस्टॉल समय पर अनुमति देता है। सिस्टम उपयोगकर्ता को सामान्य अनुमति देने के लिए संकेत नहीं देता है, और उपयोगकर्ता इन अनुमतियों को निरस्त नहीं कर सकते हैं।

खतरनाक अनुमति को रनटाइम अनुमति प्रबंधन की आवश्यकता होती है। वे 'अनुमति समूह' में भी हैं, इसलिए उस समूह से एक अनुमति के लिए रनटाइम अनुमति दी जाने के बाद, उसे उसी समूह से अन्य अनुमतियों के लिए अनुमति नहीं दी जानी चाहिए।

रनटाइम पर भी अनुमतियां दी जा सकती हैं और डिफ़ॉल्ट स्वीकृति के रूप में सेट की जा सकती हैं, जिसे उपयोगकर्ता द्वारा किसी भी समय निरस्त किया जा सकता है।

0

डिफ़ॉल्ट रूप से इसकी आवश्यकता नहीं है। केवल तब ही इसका उपयोग करें जब आपको अपने ऐप में इंटरनेट कनेक्टिविटी की आवश्यकता हो।

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