public static String getRealPathFromUri(Context context, Uri uri) {
if (context == null || uri == null) {
return null;
}
if ("file".equalsIgnoreCase(uri.getScheme())) {
return getRealPathFromUri_Byfile(context, uri);
} else if ("content".equalsIgnoreCase(uri.getScheme())) {
return getRealPathFromUri_Api11To18(context, uri);
}
return null;
}
public static String getRealPathFromUri_Byfile(Context context,Uri uri){
String uri2Str = uri.toString();
String filePath = uri2Str.substring(uri2Str.indexOf(":") + 3);
return filePath;
}
private static String getRealPathFromUri_Api11To18(Context context, Uri uri) {
String filePath = null;
String[] projection = { MediaStore.Images.Media.DATA };
CursorLoader loader = new CursorLoader(context, uri, projection, null,
null, null);
Cursor cursor = loader.loadInBackground();
if (cursor != null) {
cursor.moveToFirst();
filePath = cursor.getString(cursor.getColumnIndex(projection[0]));
cursor.close();
}
return filePath;
}
通过Uri获取图片的绝对路径
最新推荐文章于 2024-08-16 23:04:42 发布