wjc
2025-02-07 84ebb42e5043bcd48128e9d43ac394673ea5ea98
2025年02月07日16:27:23
2个文件已修改
46 ■■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
@@ -36,6 +36,7 @@
import com.hdl.photovoltaic.utils.GlideUtils;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.widget.ConfirmationInputDialog;
import com.hdl.photovoltaic.widget.PermissionExplanationDialog;
import com.hdl.photovoltaic.widget.popupview.CameraAlbumPopWindow;
import java.io.File;
@@ -126,16 +127,19 @@
//                        }
//                    }, true);
//                } else {
                    PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
                        @Override
                        public void Success(int value) {
                            if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
                // 未授权 如果应用程序没有所需的权限,则显示解释说明
                PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
                PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
                    @Override
                    public void Success(int value) {
                        PermissionExplanationDialog.getInstance().dismiss();
                        if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
//                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
                                return;
                            }
                            changedUserAvatar();
                            return;
                        }
                    }, true);
                        changedUserAvatar();
                    }
                }, true);
//                }
            }
        });
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java
@@ -34,6 +34,7 @@
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
import com.hdl.photovoltaic.widget.PermissionExplanationDialog;
import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.XXPermissions;
@@ -102,10 +103,12 @@
     */
    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));
        int status = PermissionUtils.getPermissionState(context, permission);
        switch (status) {
            case PermissionUtils.STATUS_SUCCESS:
                PermissionExplanationDialog.getInstance().dismiss();
                dismiss();
                if (0 == tag) {
                    take_photo();
@@ -120,6 +123,7 @@
                        .request(new OnPermissionCallback() {
                            @Override
                            public void onGranted(List<String> permissions, boolean all) {
                                PermissionExplanationDialog.getInstance().dismiss();
                                dismiss();
                                SharedPreUtils.putBoolean(permission, true);
                                if (0 == tag) {
@@ -131,12 +135,14 @@
                            @Override
                            public void onDenied(List<String> permissions, boolean never) {
                                PermissionExplanationDialog.getInstance().dismiss();
                                dismiss();
                                SharedPreUtils.putBoolean(permission, true);
                            }
                        });
                break;
            case PermissionUtils.STATUS_REFUSE_PERMANENT:
                PermissionExplanationDialog.getInstance().dismiss();
//                HdlThreadLogic.toast(mContext, R.string.permission_open);
                HdlDialogLogic.getInstance().showSettingPermissionDialog(mContext);
                break;
@@ -230,15 +236,15 @@
//                intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
//                intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
            //兼容android7.0 使用共享文件的形式
            ContentValues contentValues = new ContentValues(1);
            contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, outputImagepath.getName());
            contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
            Uri uri = mContext.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
            Uri photoURI = FileProvider.getUriForFile(mContext, "com.hdl.photovoltaic.fileProvider", outputImagepath);
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
                //兼容android7.0 使用共享文件的形式
                ContentValues contentValues = new ContentValues(1);
                contentValues.put(MediaStore.Images.Media.DISPLAY_NAME, outputImagepath.getName());
                contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
                Uri uri = mContext.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
                Uri photoURI = FileProvider.getUriForFile(mContext, "com.hdl.photovoltaic.fileProvider", outputImagepath);
                intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
                intent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
            }
            // 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_CAREMA
            ((Activity) mContext).startActivityForResult(intent, TAKE_PHOTO);