android 手机内存uri_Android通过Uri转化为本地绝对路径的方案(全版本适配4.1-7.0)...

本文提供了一种适用于Android 4.1到7.0的Uri转换为本地绝对路径的方法,通过检查Uri类型并使用相应的方法,如DocumentsContract、MediaStore等,来获取照片、视频或音频文件的路径。
摘要由CSDN通过智能技术生成

很多时候Uri.getPath();并不起作用,所以我们需要通过特殊的方式去解决,源代码如下(有参考,但实测过):

public static String getPhotoPathFromContentUri(Context context, Uri uri) {

String photoPath = "";

if (context == null || uri == null) {

return photoPath;

}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && DocumentsContract.isDocumentUri(context, uri)) {

String docId = DocumentsContract.getDocumentId(uri);

if (isExternalStorageDocument(uri)) {

String[] split = docId.split(":");

if (split.length >= 2) {

String type = split[0];

if ("primary".equalsIgnoreCase(type)) {

photoPath = Environment.getExternalStorageDirectory() + "/" + split[1];

}

}

} else if (isDownloadsDocument(ur

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值