安卓开发从内存卡和存储卡选择照片得到的url形式不同,怎么得到绝对路径

逆天子军少 发布于 2014/07/16 21:59
阅读 1K+
收藏 0
从手机内存卡选择照片返回的url是以content开头的字符串,可以通过下面函数转化为绝对路径
protected String getAbsoluteImagePath(Uri uri) {
// can post image
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = resolver.query(uri, proj, // Which columns to return
null, // WHERE clause; which rows to return (all rows)
null, // WHERE clause selection arguments (none)
null); // Order-by clause (ascending by name)


int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();


return cursor.getString(column_index);
}
但是为什么我从存储卡选择照片,得到的uri是以file///开头的字符串,不能用以上函数得到路径,求问这个问题怎么解决!!
加载中
0
g
gary8
file开头本来就是一个路径,更你用这个方法等到路径差不多,把这个方法加个try catch,如果catch就直接返回uri.getPath();
返回顶部
顶部