如何查询两个日期之间的内容解析程序(MediaStore.Images.Media.EXTERNAL_CONTENT_URI)?我正在尝试遵循代码,但这不起作用。

Calendar c = Calendar.getInstance()
Date date2 = c.getTime();
c.add(Calendar.YEAR,-1);
Date date1 = c.getTime();
Cursor cursor = getContentResolver().query(
                  MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                  projection,
                  MediaStore.MediaColumns.DATE_ADDED + ">=? and "+MediaStore.MediaColumns.DATE_ADDED +"<=?",
                  new String[]{"" + date1,""+date2},
                  MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

最佳答案

从这个MediaColumns.DATE_ADDED长格式的日期时间。
为此,您需要传递long数据而不是Date对象
更改查询

Cursor cursor = getContentResolver().query(
              MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
              projection,
              MediaStore.MediaColumns.DATE_ADDED + ">=? and "+MediaStore.MediaColumns.DATE_ADDED +"<=?",
              new String[]{"" + date1,""+date2},
              MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

进入之内
Cursor cursor = getContentResolver().query(
              MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
              projection,
              MediaStore.MediaColumns.DATE_ADDED + ">=? and "+MediaStore.MediaColumns.DATE_ADDED +"<=?",
              new String[]{"" + date1.getTtime()/1000,""+date2.getTime()/1000},
              MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

10-07 19:08
查看更多