Android11 图片裁剪问题
前提须知:
总所周知,Android11之后存储发生变更,APP只能访问自己的私有目录或者公共目录,不能访问别的app的私有目录。
错误原因:
发生“保存时发生错误,保存失败”这个错误的原因是你调用系统自带的裁剪工具不属于你的app,访问你的app私有目录是不允许的。
解决:
裁切intent.putExtra(MediaStore.EXTRA_OUTPUT, uri)这里的uri使用公用目录:
/*** 裁剪图片方法实现** @param uri*/public void startPhotoZoom(Uri uri) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {//虽然getExternalStoragePublicDirectory方法被淘汰了,但是不影响使用cropPhoto = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "crop_image.jpg");} else {cropPhoto = new File(getExternalCacheDir(), "crop_image.jpg");}Intent intent = new Intent("com.android.camera.action.CROP");intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);intent.setDataAndType(uri, "image/*");//下面这个crop=true是设置在开启的Intent中设置显示的VIEW可裁剪intent.putExtra("crop", "true");// aspectX aspectY 是宽高的比例intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);// outputX outputY 是裁剪图片宽高 这个值越大清晰度越高,"return-data"这个必须设为false,否则返回的data太大会崩intent.putExtra("outputX", 600);intent.putExtra("outputY", 600);//设置了true的话直接返回bitmap,可能会很占内存intent.putExtra("return-data", false);//设置输出的地址intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(cropPhoto));//设置输出的格式intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());//不启用人脸识别intent.putExtra("noFaceDetection", true);startActivityForResult(intent, CROP_WITH_DATA);}
Android11 图片裁剪问题相关推荐
- ipad html 自定义裁剪图片大小,移动端图片裁剪上传插件 Mavatar.js(原创)
插件描述:移动端头像上传,支撑头像预览和放大缩小平移,内置上传至后端请求方法. 注:请在移动端用手势查看缩放效果,PC端无法缩放 Mavatar 移动端头像上传,支撑头像预览和放大缩小平移,内置上传至 ...
- jquery 图片裁剪 java_[Java教程]5 款最新的 jQuery 图片裁剪插件
[Java教程]5 款最新的 jQuery 图片裁剪插件 0 2015-05-18 16:00:20 这篇文章主要介绍最新的 5 款 jQuery 图片裁剪插件,可以帮助你轻松的实现你网站需要的图像裁 ...
- android 壁纸 裁剪,Android图片裁剪之自由裁剪
客户的需求都是非常怪的.我有时候在给客户做项目的时候就想骂客户是sb.可是请你相信我,等你有需求,自己变成客户的时候,给你做项目的哥哥肯定也会骂你是sb. 是这种,客户须要做一个图片上传的功能,这个图 ...
- PHP图片裁剪_图片缩放_PHP生成缩略图
2019独角兽企业重金招聘Python工程师标准>>> 在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多, ...
- ios 将矩形图片裁剪成圆形图片
在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...
- 模拟系统照相机图片裁剪的功能
模拟系统照相机图片裁剪的功能 效果如下: 源码: // // RootViewController.m // ScrollView // // Copyright (c) 2014年 Y.X. All ...
- PHP实现将任意尺寸的图片裁剪后等比缩放到任意尺寸的透明图片上,并实现图片翻转...
类库地址 github.com/jinqiubj/Pi- 此类库满足以下需求 将任意尺寸的图片等比缩放到任意尺寸的透明图片上,如图1是一张200*200的正方形图片. 在等比缩放的同时,此类库可根据图 ...
- Java实现图片裁剪预览功能
Java实现图片裁剪预览功能 在项目中,我们需要做些类似头像上传,图片裁剪的功能,ok看下面文章! 需要插件:jQuery Jcrop 后端代码: package org.csg.upload;imp ...
- 图片裁剪的js有哪些(整理)
图片裁剪的js有哪些(整理) 一.总结 一句话总结:如果用了amaze框架就去amaze框架的插件库里面找图片裁剪插件,如果没用,jcrop和cropper都不错. 1.amazeui的插件库中有很多 ...
最新文章
- Learun FrameWork 强大工作流引擎,让OA更智能
- linux 虚函数调用性能,C++虚函数和多态
- .net 程序加密方法
- 你会因为什么原因而离职
- centos7 时间设置
- JAVA 类加载 随记
- Linux系统调用表(system call table)
- 51nod--1212 最小生成树
- lintcode-easy-Merge Intervals
- React fundamental 和 React Router-郭永峰-专题视频课程
- 搭建fastdfs服务,及单机redis服务,springboot实现h5与fastdfs之间的断点续传,大文件上传,秒传文件和批量上传
- JAVA 订单号生成类
- c语言2维数组每一行最小值,二维数组每一行最大值
- 《PyTorch机器学习从入门到实战》 例程(PyTorch1.2版本可用)
- 将csv导入python_将CSV导入Oracle表(Python)
- Java开发 - 消息队列之RabbitMQ初体验
- 如何使用gcore以及viewcore排查问题
- 开发新设备设计时使用低温探针台的 8425 型直流霍尔系统
- 全国30米土地利用数据分享(1980-2020)
- 文件生成过程编译过程
热门文章
- [latex]{elsarticle}爱思唯尔模版的介绍与技术总结
- :Pearl Pairing
- EIGamal encryption VS Pairing encryption
- 基于服务器部署的OCR在线识别应用
- 8bit音乐的一些相关知识
- vue树形权限菜单_vue树形菜单
- 负熵作为非高斯的度量
- 在类中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)
- html怎么安装系统,一键重装系统_MBR分区一键安装系统教程-爱纯净
- GmSSL快速上手指南