Android获取Gallery图像Uri路径
问题描述:
在一个Activity中,我可以从Gallery中选择一个图像,我需要它的Uri路径(在日志中,我的测试图像的Uri路径是 / content:/ media / external / images /培养基/ 1
)。
In an Activity, I can choose an image from the Gallery, and I need its Uri path (in the log, the Uri path for my test image is /content:/media/external/images/media/1
).
我收到此错误:
08-04 02:14:21.912: DEBUG/PHOTOUPLOADER(576): java.io.FileNotFoundException: /content:/media/external/images/media/1 (No such file or directory)
08-04 02:14:32.124: WARN/System.err(576): java.io.FileNotFoundException: /content:/media/external/images/media/1 (No such file or directory)
这是文件路径的正确格式吗?或者我应该使它像 sdcard \ ... \ image.png
?
Is this the correct format of a file path? Or should I make it to be something like sdcard\...\image.png
?
答
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
startManagingCursor(cursor);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}