READ_PHONE_NUMBERS 在 android 以下不工作 O

READ_PHONE_NUMBERS not working below android O

我正在请求此权限 READ_PHONE_NUMBERS。高于 26 时工作正常,但低于 26 时,显示允许和拒绝的权限对话框不会弹出。编码如下 .

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

我怎样才能让它在 android 26(奥利奥)以下工作。 ? 提前致谢。

针对不同的 android 版本使用下面的代码

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" />

更多

需要Manifest.permission.READ_PHONE_STATEManifest.permission.READ_SMSManifest.permission.READ_PHONE_NUMBERS

Reference