На некоторых (все?) Устройствах Samsung (Galaxy S5, S3) Picasso не отображается изображения из галереи.Picasso не отображается Изображения из галереи на некоторых устройствах Samsung
Это код:
File[] picFiles = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).listFiles();
File file = picFile[0];
Я пробовал:
Picasso.with(getActivity()).load(Uri.fromFile(file)).into(imageView);
, а также
Picasso.with(getActivity()).load("file://" + file.getAbsolutePath()).into(imageView);
безрезультатно. На всех не Samsung устройств Бот фрагменты работают отлично:
Путь к файлам не отличаться от других устройств, например:
/storage/emulated/0/Pictures/JPEG_20150706_112313_826588781.jpg
Что может быть проблема?
EDIT: Да, я добавил android.permission.READ_EXTERNAL_STORAGE
. Файл существует, и изображение отображается в приложении галереи.
EDIT 2: Это stracktrace от Пикассо:
07-13 07:22:22.817 14648-14921/xy I/dalvikvm﹕ "Picasso-/storage/emulated/0/Pictures/JPEG_20150713_071858_-1853613631.jpg" prio=5 tid=51 RUNNABLE
07-13 07:22:22.817 14648-14921/xy I/dalvikvm﹕ at com.squareup.picasso.BitmapHunter.decodeStream(BitmapHunter.java:142)
07-13 07:22:22.817 14648-14921/xy I/dalvikvm﹕ at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:217)
07-13 07:22:22.817 14648-14921/xy I/dalvikvm﹕ at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
07-13 07:22:22.817 14648-14921/xy I/dalvikvm﹕ at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:411)
07-13 07:22:23.167 14648-14918/xy﹕ "Picasso-/storage/emulated/0/Pictures/JPEG_20150713_071858_-1853613631.jpg" prio=5 tid=49 RUNNABLE
07-13 07:22:23.167 14648-14918/xy﹕ at com.squareup.picasso.BitmapHunter.transformResult(BitmapHunter.java:558)
07-13 07:22:23.167 14648-14918/xy﹕ at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:232)
07-13 07:22:23.167 14648-14918/xy﹕ at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:159)
07-13 07:22:23.167 14648-14918/xy﹕ at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:411)
Это действительно не кажется, чтобы выявить причину изображения не отображается.
Версия Picasso - 2.5.2, я могу воспроизвести ошибку на Samsung S3 с Android 4.4.4 и Samsung S5 с Android 5.0.
UIL загружает одно и то же изображение просто отлично, так что это, вероятно, ошибка в Picasso, я, вероятно, напишу отчет об ошибке в своем github.
LAST EDIT: Проблема на самом деле была исключением OOM, которое ускользало от моего внимания, потому что я отфильтровал свой LogCat за неправильные ключевые слова. Мне сейчас стыдно.
picasso.load().fit().into()
Работы и изображение отображается. Спасибо за вашу помощь.
Вы добавили ** андроида .permission.READ_EXTERNAL_STORAGE ** в манифест? –
@UditMukherjee Да, я сделал. – FWeigl
Включили ли вы отладку в Picasso? Проверьте логарифм; вы можете получить «OutOfMemoryError». Когда я загружаю фотографии с помощью Picasso, я проверяю высоту, ширину и размер, чтобы избежать ошибки OOM, используя 'picasso.resize (1000, 1000) .centerInside(). В (imageView);' когда изображение больше размеров экрана. –