1

如何打开存储在图库中的文件?我用这种方法把我的文件放在那里:

MediaStore.Images.Media.insertImage()

根据文档,它返回String url到新创建的文件。但是,当我尝试打开此文件时,它失败了。获取文件未找到异常。

我错过了什么?有任何想法吗?

4

1 回答 1

2

它返回String urlor 内容 uri 字符串。要从 uri 获取实际文件路径,您需要使用类似

protected String convertMediaUriToPath(Uri uri) {
    String [] proj={MediaStore.Images.Media.DATA};
    Cursor cursor = getContentResolver().query(uri, proj,  null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    String path = cursor.getString(column_index); 
    cursor.close();
    return path;
}

您可以将获得的字符串 url 转换为UriusingUri.parse(url);

于 2013-06-10T18:38:55.290 回答