चेतावनियाँ आपका एपीसी गोपनीयता नीति की आवश्यकता वाले अनुमतियों का उपयोग कर रही है: (android.permission.READ_PHONE_STATE)


Answers

बस अपनी मेनिफ़ेस्ट फ़ाइल में इस रेखा को जोड़ने का प्रयास करें:

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />
Question

मैनिफ़ेस्ट में एंड्रॉइड.permission.READ_PHONE_STATE नहीं जोड़ा गया। अनुमति।

क्यों आती है जब मैं नया एपीके संस्करण त्रुटि अपलोड करता हूं तो नीचे आ गया है।

आपके ऐप में संस्करण कोड 1 वाला एपीके है जो निम्न अनुमतियों का अनुरोध करता है: android.permission.READ_PHONE_STATE एपीके में इन अनुमतियों का उपयोग करने वाले ऐप को गोपनीयता नीति सेट की आवश्यकता होती है।

मैंने अपने Google Play स्टोर खाते को स्क्रीन शॉट संलग्न किया है

मेरी मेनिफ़ेस्ट फ़ाइल

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package.name">

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

    <application
        android:name=".utils.PreferenceManager"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".SplashScreen"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait" />

        <activity
            android:name=".CategoryListActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name=".ImagesActivity"
            android:screenOrientation="portrait" />

    </application>

</manifest>



आपको मेनिफ़ेस्ट फ़ाइल में min और target sdk संस्करण निर्दिष्ट करने की आवश्यकता है।
अगर android.permission.READ_PHONE_STATEandroid.permission.READ_PHONE_STATE आपकी एपीके फ़ाइल निर्यात करते समय स्वचालित रूप से जोड़ दी जाएगी।

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" />



  1. शायद आप संस्करण 9.6.0 के PlayServices का उपयोग कर रहे हैं। तो आपको इसे अपडेट करना चाहिए, यह पुस्तकालय का बग है अधिक जानकारी यहां

या

  1. जोड़ना

    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

आपके मैनिफ़ेस्ट फ़ाइल में




यदि आप किसी डिवाइस पर अपने ऐप का परीक्षण कर रहे हैं> एंड्रॉइड 6.0 आपको अनुमति देने के लिए उपयोगकर्ता को स्पष्ट रूप से पूछना है।

जैसा कि आप यहां देख सकते हैं READ_PHONE_STATE का खतरनाक स्तर है।

यदि एक अनुमति के खतरे का स्तर है तो उपयोगकर्ता को यह अनुमति मैन्युअल रूप से स्वीकार करना है या नहीं। आपके पास कोई विकल्प नहीं है, आपको यह करना चाहिए

अपनी गतिविधि से ऐसा करने के लिए निम्न कोड निष्पादित करें:

यदि उपयोगकर्ता एंड्रॉइड एम का उपयोग करता है और अनुमति नहीं दी है तो यह इसके लिए पूछेगा

public static final int READ_PHONE_STATE_PERMISSION = 100;

  if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE)
                != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION);
        }

फिर ओवरराइड onRequestPermissionsResult आपकी गतिविधि में परिणाम

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case READ_PHONE_STATE_PERMISSION: {
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED){
                    //Permission granted do what you want from this point
                }else {
                    //Permission denied, manage this usecase
                }
            }
        }
    }

इसके बारे में अधिक जानने के लिए आपको इस लेख को पढ़ना चाहिए