I create a custom gallery of images and videos, just like Whatsapp should allow a user to select multiple images / videos while I fill and show thumbnails on a gridview. But as a result, on some devices the images were sometimes shown duplicated, and on some - not. It also happens with a video gallery.
I am requesting an id of images from
MediaStore.images
and get thumbnails using
MediaStore.images.thumbnails.getThumbnail
from received identifiers
below is my code
final String[] columns = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
final String orderBy = MediaStore.Images.Media.DATE_ADDED;
imageCursor = activity.managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,null, orderBy+" DESC");
int image_column_index = imageCursor.getColumnIndex(MediaStore.Images.Media._ID);
int count = imageCursor.getCount();
thumbnails = new Bitmap[count];
arrPath = new String[count];
Log.d("count ", ""+count);
int i=0;
for ( i= 0; i <count; i++)
{
imageCursor.moveToPosition(i);
int id = imageCursor.getInt(image_column_index);
int dataColumnIndex = imageCursor.getColumnIndex(MediaStore.Images.Media._ID);
thumbnails[i] = MediaStore.Images.Thumbnails.getThumbnail(context.getContentResolver(), id,MediaStore.Images.Thumbnails.MICRO_KIND, null);
arrPath[i]= imageCursor.getString(dataColumnIndex);
}
from the android documentation getThumbnail should create a sketch if it is not available.
, , - MediaStore.Images.Thumbnails.getThumbnail NULL, ( 2 ).
- , , asynctask, thubnails OS Adroid, . , ? .