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。
答案 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”。