Android图片裁剪库咨询:是否有返回content类型Uri的可用库?
适用方案整理
支持直接返回content类型Uri的裁剪库
uCrop:目前通用的稳定裁剪库之一,支持自定义输出位置。启动裁剪任务时,你可以提前通过FileProvider生成目标输出的content类型Uri,作为参数传入裁剪配置中,裁剪完成后返回的就是你指定的content类型Uri,无需额外转换。- 系统原生裁剪:无需引入三方依赖,调用
Intent.ACTION_CROP时,通过EXTRA_OUTPUT字段传入提前生成的content类型Uri,绝大多数ROM的系统裁剪组件都会将结果写入该Uri,返回值符合需求。
现有裁剪库兼容方案
如果不想更换已在使用的裁剪库,可手动将返回的file类型Uri转换为content类型Uri,操作步骤如下:
- 拿到裁剪库返回的file类型Uri后,解析得到对应图片文件的绝对路径
- 调用
FileProvider.getUriForFile(context, "${应用包名}.fileprovider", 目标图片文件)方法,生成合规的content类型Uri - 提前在
AndroidManifest.xml中完成FileProvider的路径配置,保证目标文件所在目录在FileProvider的授权访问路径范围内
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

