当我从图库中选择图像时,我通过 onActivityResult 传递的参数获取意图 Uri。执行时:new File(String_Uri_given_to_me) 并执行 File.Exists(),给我 null... 我能做什么?
问问题
638 次
3 回答
0
看来您可以尝试: new File(Uri_given_to_you.getpath())
可能没问题。
于 2013-07-30T10:04:14.577 回答
0
如果上面的答案不能解决您的问题,请使用此代码
private final synchronized String getPath(Uri uri) {
String res = null;
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(uri, proj,
null, null, null);
if (cursor.moveToFirst()) {
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
res = cursor.getString(column_index);
}
cursor.close();
return res;
}
于 2013-07-30T10:31:56.527 回答
0
我在这个问题上遇到了困难。我无法获得一些图像路径(即使使用 Maxim Efivmov 代码),最后决定使用谷歌关于这个主题的文档。https://developer.android.com/guide/topics/providers/document-provider.html
这段代码用于获取位图
private Bitmap getBitmapFromUri(Uri uri) throws IOException {
ParcelFileDescriptor parcelFileDescriptor =
getContentResolver().openFileDescriptor(uri, "r");
FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor);
parcelFileDescriptor.close();
return image;
}
您可以使用此位图在图像视图中显示它。
于 2016-06-24T15:48:13.693 回答