android 申请相机权限时未弹出授权对话框的解决方法
android api level 29 的设备在首次安装申请相机权限时可能会出现不弹出授权对话框的问题。虽然已经正确声明了相机权限和交互规则,并在需要使用相机的地方动态申请了授权,但仍然不出现对话框。
这个问题通常是由于连续申请权限导致的。例如,以下代码片段中,将存储和相机权限单独申请:
public boolean checkpermissions() { permissioncommon.requeststoragepermissions(this.activity); permissioncommon.requestcamerapermissions(this.activity); // ... }
这样会导致在申请相机权限时,已经弹出过存储权限的授权对话框,因此不会再弹出相机权限的对话框。
解决方法是将权限合成在一起一次性申请。例如:
public boolean checkPermissions() { String[] permissions = new String[] {...}; PermissionCommon.requestPermissions(this.activity, permissions); // ... }
这样,将存储和相机权限同时申请,就不会出现不弹出授权对话框的问题。