| | |
| | | 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; |
| | | |
| | |
| | | */ |
| | | 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(); |
| | |
| | | .request(new OnPermissionCallback() { |
| | | @Override |
| | | public void onGranted(List<String> permissions, boolean all) { |
| | | PermissionExplanationDialog.getInstance().dismiss(); |
| | | dismiss(); |
| | | SharedPreUtils.putBoolean(permission, true); |
| | | if (0 == tag) { |
| | |
| | | |
| | | @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; |
| | |
| | | // 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); |