【发布时间】:2014-07-21 05:11:26
【问题描述】:
我有一个应用程序,它使用光标从媒体存储中加载缩略图(到网格视图中):
CursorLoader cursorLoader = null;
if (Integer.valueOf(android.os.Build.VERSION.SDK_INT) >= android.os.Build.VERSION_CODES.HONEYCOMB) {
String[] from = { MediaStore.Files.FileColumns._ID,
MediaStore.Files.FileColumns.DATA,
MediaStore.Files.FileColumns.DATE_ADDED,
MediaStore.Files.FileColumns.MEDIA_TYPE,
MediaStore.Files.FileColumns.MIME_TYPE,
MediaStore.Files.FileColumns.TITLE };
projection = from;
String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
+ MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE + " OR "
+ MediaStore.Files.FileColumns.MEDIA_TYPE + "="
+ MediaStore.Files.FileColumns.MEDIA_TYPE_VIDEO;
Uri queryUri = MediaStore.Files.getContentUri("external");
cursorLoader = new CursorLoader(this, queryUri, projection,
selection, null, MediaStore.Files.FileColumns.DATE_ADDED
+ " DESC");
} else {
String[] from = { MediaStore.MediaColumns.DATE_ADDED };
projection = from;
Uri sourceImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
cursorLoader = new CursorLoader(this, sourceImageUri, null, null,
null, MediaStore.MediaColumns.DATE_ADDED + " DESC");
}
Cursor cursor = null;
if (cursorLoader != null) {
cursor = cursorLoader.loadInBackground();
mGalleryAdapter = new GalleryAdapter(this,
android.R.layout.simple_list_item_1, cursor, projection,
to, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
gallery.setAdapter(mGalleryAdapter);
gallery.setOnItemClickListener(myOnItemClickListener);
}
但是,一些较新的图像加载时没有缩略图,这很愚蠢。只有当我在手机上打开图库应用(照片)时才会生成缩略图。
如何以编程方式刷新设备上的所有缩略图,这样就没有没有缩略图的图像留白?
我希望这适用于所有 Android 版本,包括 4.4。在此先感谢:)
【问题讨论】:
标签: android thumbnails mediastore