Я хотел получить эскиз изображений, которые хранятся в /storage/emulated/0/Pictures/xyz/abc.jpg
Вот код:
String[] proj = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
Cursor cursor = MediaStore.Images.Thumbnails.queryMiniThumbnails(
parent.getContext().getContentResolver(),
Uri.fromFile( new File( "/storage/emulated/0/Pictures/xyz/abc.jpg" ) ),
MediaStore.Images.Thumbnails.MINI_KIND,
proj );
if( cursor != null && cursor.getCount() > 0 ) {
cursor.moveToFirst();
String uri = cursor.getString( cursor.getColumnIndex( MediaStore.Images.Thumbnails.DATA ) );
try {
cursor.close();
return MediaStore.Images.Media.getBitmap(parent.getContext().getContentResolver(), Uri.parse(uri));
} catch (IOException e) {
e.printStackTrace();
cursor.close();
return null;
}
}
else{
return null;
}
Всегда cursor size
равно 0 и данных нет.
parent - это родительский элемент ViewGroup
, поскольку он находится внутри, и вы получаете вид сетки.
Есть идеи, почему размер курсора равен 0? Даже пытался использовать getThumbnails
API, но тот же результат.
К вашему сведению, когда я использую ThumbnailUtils.extractThumbnail
API, все работает.