解决 android api 29 设备首次安装时无法弹出相机权限授权对话框
问题:
在 android api 29 设备上首次安装应用程序时,尽管在清单文件中声明了相机权限并添加了交互规则,但申请相机权限时却未弹出授权对话框。
原因:
连续申请权限会导致异常。在提供的问题代码中,checkpermissions() 方法中接连申请了存储和相机权限,这可能会干扰相机的权限申请流程。
解决方案:
将存储和相机权限合成一次性申请即可解决问题。更新后的 checkpermissions() 方法如下:
public boolean checkPermissions() { // 将存储和拍照权限合在一起申请 String[] permissions = {...}; PermissionCommon.requestPermissions(this.activity, permissions); // 检查是否具有所有权限 if (!PermissionCommon.isHasPermissions(this.activity, permissions)) { UiCommon.toast(this.activity, "部分或全部权限未授予"); return false; } return true; }