我尝试获取缩略图并将其放入我的布局中。我有onCreateView方法的片段类。
HTTP/1.0 200 OK
Cache-Control: no-cache
Content-Type: application/json
Date: Mon, 26 Oct 2015 06:37:40 GMT
{"status":1}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
cr = getActivity().getContentResolver();
image = new ImageView(getActivity().getApplicationContext());
String[] mProjection = {
MediaStore.Images.Thumbnails._ID
};
thumbnails = cr.query(
MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
mProjection,
null,
null,
null);
if (thumbnails==null){
Log.d("yerchik/fragment", "error");
}else if (thumbnails.getCount() <1){
Log.d("yerchik/fragment", "nothing returned");
}else {
Log.d("yerchik/fragment", "thumbnails returned");
thumbnails.moveToFirst();
int index = thumbnails.getColumnIndex(MediaStore.Images.Thumbnails._ID);
Log.d("yerchik/fragment", "index: " + index);
if (thumbnails.moveToNext()){
Random r = new Random();
int rand = r.nextInt(thumbnails.getCount());
thumbnails.moveToPosition(rand);
bitmap = MediaStore.Images.Thumbnails.getThumbnail(
cr,
thumbnails.getInt(index),
MediaStore.Images.Thumbnails.MICRO_KIND,
null);
image.setImageBitmap(bitmap);
}
}
return image;
}
在我的主要活动中,我把这个片段如下:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在我的日志中,我有:
缩略图返回
所以我有一些缩略图,但没有出现。
有趣的是,如果我为片段添加布局并使用一些src图像声明我的ImageView并注释掉image.setImageBitmap(位图)行,我将获取我的样本图像。在我删除评论后,没有任何内容出现,因此我的代码似乎在绘制内容,因为从布局添加的图像会消失,但不会显示缩略图。
答案 0 :(得分:0)
MediaStore.Images.Thumbnails.getThumbnail()已弃用。
尝试使用loadThumbnail()。
喜欢(在科特林):
val cr = applicationContext.contentResolver
val bitmap = cr.loadThumbnail(uri,Size(25,25),null)
image.setImageBitmap(bitmap)