| | |
| | | * 从相册中获取图片 |
| | | */ |
| | | private void select_photo() { |
| | | String permission = Manifest.permission.WRITE_EXTERNAL_STORAGE; |
| | | int status = PermissionUtils.getPermissionState(mContext, permission); |
| | | |
| | | switch (status) { |
| | | case PermissionUtils.STATUS_SUCCESS: |
| | | openAlbum(); |
| | | break; |
| | | case PermissionUtils.STATUS_REFUSE: |
| | | case PermissionUtils.STATUS_DEFAULT: |
| | | XXPermissions.with(mContext) |
| | | .permission(permission) |
| | | .request(new OnPermissionCallback() { |
| | | @Override |
| | | public void onGranted(List<String> permissions, boolean all) { |
| | | SharedPreUtils.putBoolean(permission, true); |
| | | openAlbum(); |
| | | } |
| | | if (Build.VERSION.SDK_INT >= 33) { |
| | | //默认成功 |
| | | openAlbum(); |
| | | } else { |
| | | String permission = Manifest.permission.WRITE_EXTERNAL_STORAGE; |
| | | int status = PermissionUtils.getPermissionState(mContext, permission); |
| | | switch (status) { |
| | | case PermissionUtils.STATUS_SUCCESS: |
| | | openAlbum(); |
| | | break; |
| | | case PermissionUtils.STATUS_REFUSE: |
| | | case PermissionUtils.STATUS_DEFAULT: |
| | | XXPermissions.with(mContext) |
| | | .permission(permission) |
| | | .request(new OnPermissionCallback() { |
| | | @Override |
| | | public void onGranted(List<String> permissions, boolean all) { |
| | | SharedPreUtils.putBoolean(permission, true); |
| | | openAlbum(); |
| | | } |
| | | |
| | | @Override |
| | | public void onDenied(List<String> permissions, boolean never) { |
| | | SharedPreUtils.putBoolean(permission, true); |
| | | } |
| | | }); |
| | | break; |
| | | case PermissionUtils.STATUS_REFUSE_PERMANENT: |
| | | @Override |
| | | public void onDenied(List<String> permissions, boolean never) { |
| | | SharedPreUtils.putBoolean(permission, true); |
| | | } |
| | | }); |
| | | break; |
| | | case PermissionUtils.STATUS_REFUSE_PERMANENT: |
| | | // HdlThreadLogic.toast(mContext, R.string.permission_open); |
| | | HdlDialogLogic.getInstance().showSettingPermissionDialog(mContext); |
| | | break; |
| | | HdlDialogLogic.getInstance().showSettingPermissionDialog(mContext); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |