android 根据Uri获取文件绝对路径
网上搜索的代码
protected String getAbsoluteImagePath(Uri uri) {
// can post image
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(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);
}
修改后的代码
protected String getAbsoluteImagePath(Uri uri) {
// can post image
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(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)
if (cursor != null) {
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} else {
//如果游标为空说明获取的已经是绝对路径了
return uri.getPath();
}
}
更多相关文章
- Android(安卓)获取SDCard上图片和视频的缩略图
- Android(安卓)Log Analysis
- [置顶] Android常用功能代码
- Android获取手机型号,系统版本,App版本号等信息
- android 获取root修改系统时间
- Android如何获取开机启动项列表
- Android创建快捷方式(shortcut)
- android唤醒屏幕/保持屏幕唤醒
- android 下的webview 设置多点触控放大