问题描述:在Android 12设备上,应用程序请求权限时,系统无法正确显示权限请求屏幕。相反,应用程序将直接获得允许该权限的状态,而不提供向用户显示权限请求的机会。
解决方案:在AndroidManifest.xml文件中添加应用程序的请求权限,同时确保使用ActivityCompat.requestPermissions()方法请求的权限与AndroidManifest.xml中的权限相匹配。此外,《Android 12》需要在Manifest文件中添加请求的授权等级。
示例代码:
//在 AndroidManifest.xml 中添加请求的授权等级
...
// 通过 ActivityCompat.requestPermissions() 请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.your_permission}, REQUEST_CODE);
注意:如果您开发的是库,请在您的库的AndroidManifest.xml中添加相应的权限声明。