今天,简单讲讲android里如何通过文件的Uri获取文件的路径url。
昨天,我讲了如何调用手机的文件管理器获取文件资源,但是文件管理器返回的是文件的Uri,我们需要通过Uri获取文件的url才可以操作文件。昨天的博客虽然写了一种Uri转url的代码,但是我自己也没有很懂,于是在网上查找资料,最终解决了问题。这里记录一下。
一.简易版处理(实际并没发现有什么问题)
public static String getRealPathFromURI(Context context, Uri contentURI) {
String result;
Cursor cursor = context.getContentResolver().query(contentURI,
new String[]{MediaStore.Images.ImageColumns.DATA},//
null, null, null);
if (cursor == null) result = contentURI.getPath();
else {
cursor.moveToFirst();
int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
result = cursor.getString(index);
cursor.close();
}
return result;
}
简单讲讲,这种代码直接通过Uri使用contentProvider获取数据库的文件的url,网上说android 4.4后这种代码是有问题的,但是我没有测试,大家可以测试看看。
2.复杂版处理

本文介绍了在Android中如何从文件Uri获取文件的URL。首先提供了简易版的处理方式,利用ContentProvider直接获取数据库中的文件URL,虽然有说法称在Android 4.4后这种方法可能存在问题,但未进行验证。其次,提到了复杂版处理,涉及将绝对路径转换为Uri的方法。文章内容简洁明了,便于理解和应用。
最低0.47元/天 解锁文章
450

被折叠的 条评论
为什么被折叠?



