我想获取存储在/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
,因为它位于网格视图的get视图中。
知道为什么光标大小为0吗?甚至尝试使用getThumbnails
API,但结果相同。
当我使用ThumbnailUtils.extractThumbnail
API时,仅供参考。