在华为手机上 做选取图片剪裁遇到遇到授权无效 发现是
intent.putExtra("return-data", true);惹的祸 把这句删除了就好
还遇到另一个坑 拍照后剪裁时 无法加载图片 加入这两局就好
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
无法保存经过裁剪的图片 ,加入判断图片是否已经存在
var mFile = File(externalCacheDir,"crop_image.jpg") try { if (mFile.exists()) { mFile.delete(); } mFile.createNewFile(); } catch ( e:Exception) { e.printStackTrace(); }
以下是我完整的代码:
/** * 裁剪原始的图片 */ fun cropRawPhoto(uri: Uri) { try{ val intent = Intent("com.android.camera.action.CROP") intent.setDataAndType(uri, "image/*") // 设置裁剪 intent.putExtra("crop", "true") // aspectX , aspe