Android读取手机相册图片,解析URI生成图片路径

本文介绍了在Android应用中如何读取相册图片并获取其路径。通过分析不同Android版本下图片URI的两种形式——file和content,提出了一种不依赖系统版本的解决方案。测试涵盖了多个Android版本的设备,包括华为、魅族、红米和中兴等,证明了这种方法的有效性。
摘要由CSDN通过智能技术生成

这几天做了一个APP,需要读取本地相册图片获取图片的路径然后再进行进一步的处理。这个需要先获取图片的URI,然后根据URI获取图片路径,根据图片路径获取图片。图片URI有两种格式,一种是file开头,一种是content开头。网上查了资料,基本都是按Android的系统去进行区分的,什么Android4.4前,Android4.4后。但是本人经过测试,发现按Android系统进行区分是无效的。

先说图片URI格式,我测试后发现有这两种:

file:///storage/emulated/0/DCIM/Camera/IMG_20170613_132837.jpg和

content://media/external/images/media/1028。要获取的图片路径是:

/storage/emulated/0/DCIM/Camera/IMG_20170613_132837.jpg

本人使用的测试机华为Android4.4.4,6.0,7.0,魅蓝 Android5.1,魅族MX4 Android4.4.2,图片的URI都是content开头。使用红米Android6.0.1,中兴Android6.0,图片URI都是file开头。

基于此,发现根据Android版本去判断图片URI类型是不靠谱的。

现在我的做法:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (re
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值