前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记
后面会有完整裁剪代码
1,一加手机报错
intent.putExtra("outputFormat", "png");
这句不能加,否则报错
2,Android 12不能进入裁剪页面
不能加
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
否则无法进入裁剪页面
3.Android 12裁剪后无法拿到图片显示
Android11,12申请权限
<!-- 读取您的USB存储设备中的内容 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <!-- 修改或删除您的USB存储设备中的内容 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
申请这两个权限,在手机上只会申请媒体文件的访问权限,无法访问全部文件权限,这很重要
全部权限需要用户手动给予
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
如果用户愿意手动给你这个权限,那么裁剪就不会出现问题,否则就会出现裁剪成功,保存不成功的现象