Android MediaStore.Images.Media.getBitmap возвращает ошибку - PullRequest
1 голос
/ 31 августа 2010

ContentResolver cr = getContentResolver ();Uri pic = Uri.parse ("content: // media / external / images / media / 3");Bitmap bm = Media.getBitmap (cr, pic);

Приведенный выше код написан в методе onCreate моего класса Activity.Выдает следующую ошибку:

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 голосов
/ 30 января 2013

Вы должны сделать что-то вроде:

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);
}
0 голосов
/ 02 сентября 2010

Хорошо, я нашел проблему.Я дал неправильный Ури.Я давал "[content: // blahblah]", где, как я должен был дать, "content: // blahblah".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...