wjc
2025-05-26 fa2c6bc596778480e57a9df64ea1aa925ed1f8b4
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java
@@ -104,11 +104,11 @@
    private void checkPermission_After(final Activity context, final int tag) {
        String permission = Manifest.permission.CAMERA;
        // 未授权 如果应用程序没有所需的权限,则显示解释说明
        PermissionExplanationDialog.getInstance().showPortConflictPdDialog(context, context.getString(R.string.camera_storage_instructions), context.getString(R.string.camera_storage_purpose));
//        PermissionExplanationDialog.getInstance().showPortConflictPdDialog(context, context.getString(R.string.camera_storage_instructions), context.getString(R.string.camera_storage_purpose));
        int status = PermissionUtils.getPermissionState(context, permission);
        switch (status) {
            case PermissionUtils.STATUS_SUCCESS:
                PermissionExplanationDialog.getInstance().dismiss();
//                PermissionExplanationDialog.getInstance().dismiss();
                dismiss();
                if (0 == tag) {
                    take_photo();
@@ -440,34 +440,39 @@
     * 从相册中获取图片
     */
    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;
            }
        }
    }