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);
}