2

内容解析器 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。

4

2 回答 2

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);
}
于 2013-01-30T13:45:24.320 回答
-1

好的,我发现了问题。我给出了错误的 Uri。我给的是“[content://blahblah]”,而我应该给的是“content://blahblah”。

于 2010-09-02T14:02:34.183 回答