我有一个应用程序,在 Manifest 文件中具有以下权限:
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
我在Android 11的手机设置中手动启用了所有权限。但是,如果我使用ActivityCompat.checkSelfPermission(this,(Manifest.permission.READ_PHONE_STATE))
检查是否已授予READ_PHONE_STATE
权限,则结果始终为PERMISSION_DENIED
。
然后,我使用ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_PHONE_STATE), 102)
,这只是调用onRequestPermissionsResult
并立即返回PERMISSION_DENIED
。
我在两台Android 11设备(一个物理设备和一个模拟器)上复现了这个问题,并尝试更改包名、卸载和重新安装应用等操作。