Я пытаюсь выбрать изображение из галереи на Android Lollipop и показать его на дисплее. Я использую следующий код, чтобы перейти в галерею и выбрать изображение:Изображение не отображается на Android Lollipop
Intent galleryIntent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// Start the Intent
startActivityForResult(galleryIntent, RESULT_LOAD_IMG);
Я использую следующий код, чтобы выбрать изображение и отобразить его:
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
// Get the cursor
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
// Move to first row
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
imgDecodableString = cursor.getString(columnIndex);
cursor.close();
// Set the Image in ImageView after decoding the String
ImageViewFinal.setImageBitmap(BitmapFactory
.decodeFile(imgDecodableString));
Как-то не отображается выбранное изображение , Он отлично работает на более низких версиях Android, но не работает на Lollipop. Logcat также не показывает никаких ошибок, это означает, что изображение на самом деле выбирается, но по какой-то причине оно скрывается за серым экраном.
Можете ли вы опубликовать два Uris, которые вы получаете из 'data.getData()'; один, когда он загружается правильно и в противном случае. – JanithaR
Спасибо за быстрый ответ Janitha. selectedImage это uri, и он отлично работает в KitKat, но не работает на леденец. –
Вас попросили указать значения uri.getPath(). – greenapps