androidandroid-permissionsandroid-8.0-oreouser-permissionsdangerous-permissions

READ_PHONE_NUMBERS not working below android O


I am requesting this permission READ_PHONE_NUMBERS . On and above 26 is working fine but below 26 the permission dialog to show allow and deny is not popping up. Coded as below .

 ActivityCompat.requestPermissions(mActivity, new String[]{android.permission.READ_PHONE_NUMBERS}, RC_PN);

How can i make it work below android 26(Oreo). ? Thanks in advance.


Solution

  • Use the code below for different android versions

    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
    ActivityCompat.requestPermissions(mActivity, new String[{android.permission.READ_PHONE_NUMBERS}, RC_PN);} 
    else {
    TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
    String mPhoneNumber = tMgr.getLine1Number();}
    

    AndroidManifest.xml

        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
        <uses-permission android:name="android.permission.READ_PHONE_NUMBERS" />
        <uses-permission android:name="android.permission.READ_SMS" />
    

    More

    Requires Manifest.permission.READ_PHONE_STATE or Manifest.permission.READ_SMS or Manifest.permission.READ_PHONE_NUMBERS

    Reference