Android 11 电话权限记录

时间:2025-03-08 22:44:30

电话号码 Android 11 更改了您的应用在读取电话号码时使用的与电话相关的权限。

如果您的应用以 Android 11 或更高版本为目标平台,并且需要访问以下列表中显示的电话号码 API,则必须请求 READ_PHONE_NUMBERS 权限,而不是 READ_PHONE_STATE 权限。 TelephonyManager   类和   TelecomManager   类中的   getLine1Number()   方法。 TelephonyManager   类中不受支持的   getMsisdn()   方法。

如果您的应用声明 READ_PHONE_STATE 以调用前面列表中的方法以外的方法,您可以继续在所有 Android 版本中请求 READ_PHONE_STATE。不过,如果您仅对前面列表中的方法使用 READ_PHONE_STATE 权限,

请按以下方式更新您的清单文件: 更改   READ_PHONE_STATE   的声明,以使您的应用仅在 Android 10(API 级别 29)及更低版本中使用该权限。 添加   READ_PHONE_NUMBERS   权限。 以下清单声明代码段演示了此过程:

               

<manifest>  
  <!-- Grants the READ_PHONE_STATE permission only on devices that run     
    Android 10 (API level 29) and lower. -->   
 <uses-permission 
    android:name="READ_PHONE_STATE"               
    android:maxSdkVersion="29" />   
    <uses-permission android:name="READ_PHONE_NUMBERS" />
</manifest>