授权无效, 无法保存经过裁剪的图片 android7.0的那些坑

在Android7.0系统中,华为手机上进行图片选取和剪裁时出现授权无效的问题,导致无法保存裁剪后的图片。解决办法包括设置Intent权限标志和检查图片是否存在。完整修复代码已提供。
摘要由CSDN通过智能技术生成

在华为手机上 做选取图片剪裁遇到遇到授权无效  发现是

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值