Android MediaStore.Images.Media.getBitmap返回错误

时间:2010-08-31 03:21:56

标签: android mediastore

ContentResolver cr = getContentResolver(); Uri pic = Uri.parse(“content:// media / external / images / media / 3”); 位图bm = Media.getBitmap(cr,pic);

上面的代码是用我的Activity类的onCreate方法编写的。它会引发以下错误:

08-30 12:27:22.352:WARN / System.err(245):java.io.FileNotFoundException:无内容提供者:[content:// media / external / images / media / 3]

可能有什么不对?有问题的文件是因为我在另一个方法中启动了Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI)并从返回的意图中获取了所选图像的Uri。

2 个答案:

答案 0 :(得分:0)

您应该执行以下操作:

private String getPath(Uri uri) {
String[]  data = { MediaStore.Images.Media.DATA };
CursorLoader loader = new CursorLoader(context, uri, data, null, null, null);
Cursor cursor = loader.loadInBackground();
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}

答案 1 :(得分:-1)

好的,我发现了这个问题。我给错了Uri。我正在给出“[content:// blahblah]”,因为我应该给出“content:// blahblah”。