Дублированный эскиз и некоторые изображения, которые не отображаются в моем приложении для Android

#android #mediastore

#Android #mediastore

Вопрос:

Я использовал MediaStore.images.thumbnail.external_content_uri для запроса эскиза на телефоне. Это нормально работает с моим новым телефоном с некоторыми фотографиями, сделанными с камеры, или загруженными изображениями из браузера.

При использовании телефона one friends некоторые дублированные эскизы отображаются в gridview, а некоторые даже не отображаются.

Нужно ли повторно сканировать носитель перед запросом эскизов в mediastore.

Ответ №1:

Мой опыт работы с MediaStore.images.thumbnail показывает, что ему нельзя доверять. Я предполагаю, что это связано с разной реализацией поставщиков телефонов. Например, на моем HTC миниатюры галереи кэшируются сами по себе (поскольку они нестандартного размера), а не через MediaStore, поэтому эти записи отсутствуют в MediaStore. (PS, записи в MediaStore.images.thumbnail по существу не сопоставлены с существующим изображением, это означает, что в нем может быть запись на изображении A, если позже вы удалили изображение A, миниатюра все еще может быть там, указывая ни на что)

Более надежный способ — запросить идентификатор изображений из MediaStore.images, а затем использовать MediaStore.images.thumbnails.getThumbnail для извлечения изображения с идентификаторами.