Android 调用系统裁剪,适配11和12及手机

本文总结了在Android应用中调用系统裁剪功能时遇到的问题,包括一加手机报错、Android 12无法进入裁剪页面、Android 11和12裁剪后图片无法显示,以及谷歌手机的路径差异。针对这些问题,提供了解决方案,如使用特定权限、将裁剪图片加入相册使其成为媒体文件等,并给出了源码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:发现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" />

如果用户愿意手动给你这个权限,那么裁剪就不会出现问题,否则就会出现裁剪成功,保存不成功的现象

出现这个原因:我们拥有媒体权限,所以可以打开相册选择图片,进行裁剪,裁剪后的图片会在文件夹,他不属于媒体文件,我们没有这个权限,除非有

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值