Erstellen einer Bildergalerie Ich stehe vor einem seltsamen Problem. Ich Abfrage für die Bilder eines Albums wie folgt aus:Android - ThumbnailUtils.getThumbnail gibt ein falsches Bild zurück
String sortBy=MediaStore.Images.Media.DATE_MODIFIED+" desc";
String selection=MediaStore.Images.Media.DATA +" like?";
String[] selectionArgs=new String[]{"%"+folderPath+"%"};
String[] projection = {MediaStore.Images.Media._ID,MediaStore.Images.Media.DATA,MediaStore.Images.Media.DATE_MODIFIED,MediaStore.Images.Media.BUCKET_ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME};
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, sortBy);
Danach beginne ich die Bilder für alle IDs ich aus der Abfrage bekam zu sammeln. Ich hole eine Bitmap für eine bestimmte Bild-ID wie folgt:
In den meisten Geräten funktioniert es gut. Heute habe ich ein Xiaomi Redmi 3 Gerät getestet, das fast immer das gleiche Thumbnail liefert. Wenn also ein Album 200 Bilder hat, bekomme ich ein oder zwei richtig und der Rest ist das gleiche genaue Bild.
Aber wenn ich MINI_KIND Thumbnails anfordere, kommen sie alle gut zurück.
Was verursacht dies und wie kann ich es umgehen?
Die großen Vorschaubild (MINI_KIND
) gespeichert sind in DCIM/.thumbnails/*.jpg
:
Das gleiche Problem hier auf einem Nexus 5 mit CyanogenMod 14.1 (nächtlichen Build). – MaxGyver
Ich vermute, es ist ein Fehler, der nicht vermieden werden kann, also habe ich MINI_KIND verwendet und die Größe der Bitmaps später in MICRO_KIND geändert Größe – Anonymous
Leider ist MINI_KIND viel langsamer. Es wäre schön, wenn ein MICRO_KIND-Thumbnail einen Fehler verursacht, also könnte ich dies zuerst versuchen und dann nur ein MINI_KIND-Thumbnail laden, falls nötig. – MaxGyver