Fyg*_*ygo 4 android image gallery filter android-intent
我想让用户从手机的图库中选择一些图像,然后将它们加载到应用程序中.使用Intent.ACTION_PICK和startActivityForResult(intent,SELECT_PHOTO)这似乎是一项简单的任务.
但是,我需要按日期范围过滤图库中的结果.我需要设置一个初始日期和结束日期,只显示这两个日期之间的照片(或者可以选择).有谁知道如何实现这一目标?无论如何我似乎无法过滤画廊结果.
谢谢!
小智 5
我也遇到了这个任务,经过几个小时的尝试终于解决了它:).您需要使用媒体商店并查询它从日期和日期传递的时间长,这将返回一个位图数组以下是适合我的代码.
final String[] columns = { MediaStore.Images.Media.DATA,
MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATE_TAKEN,
MediaStore.Images.Media.DATE_ADDED };
final String orderBy = MediaStore.Images.Media._ID;
Cursor imagecursor = managedQuery(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns,
MediaStore.Images.Media.DATE_TAKEN + ">? and "
+ MediaStore.Images.Media.DATE_TAKEN + "<?",
new String[] { "" + from, "" + to }, orderBy + " DESC");
int image_column_index = imagecursor.getColumnIndex(MediaStore.Images.Media._ID);
this.count = imagecursor.getCount();
Log.w("", "count is :" + count);
this.thumbnails = new Bitmap[this.count];
for (int i = 0; i < this.count; i++) {
imagecursor.moveToPosition(i);
int id = imagecursor.getInt(image_column_index);
thumbnails[i] = MediaStore.Images.Thumbnails.getThumbnail(ctx
.getApplicationContext().getContentResolver(), id,
MediaStore.Images.Thumbnails.MICRO_KIND, null);
}
imagecursor.close();
Run Code Online (Sandbox Code Playgroud)