最近做用图库和拍照选择图片的功能,图库选择没问题,但是拍照选择的时候,根据uri获取图片路径的时候老是报空指针异常。经过一段时间的琢磨尝试,终于让我找到了办法,代码如下:
public String getPaths(Context ac, String uriStr) {
Uri uri = Uri.parse(uriStr);
if(uri.getScheme().toString().compareTo("content") == 0){
ContentResolver cr = ac.getContentResolver();
Cursor cursor = cr.query(uri, null, null, null, null);// 根据Uri从数据库中找
if (cursor != null) {
cursor.moveToFirst();
String filePath = cursor.getString(cursor.getColumnIndex("_data"));// 获取图片路径
cursor.close();
if (filePath != null) {
return filePath;
}
}
}else if(uri.getScheme().toString().compareTo("file") == 0){
return uri.toString().replace("file://","");
}
return null;
}
赶紧记下来,以备以后用到,希望对大家有所帮助。