ContentResolver通过queryArgs查找从2023-05-01到今天的所有照片
时间: 2023-12-02 11:02:52 浏览: 87
快速寻找所有照片的创建时间
您可以使用ContentResolver来查询照片的信息,可以使用以下代码实现:
```java
String[] projection = { MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.DATE_TAKEN };
String selection = MediaStore.Images.Media.DATE_TAKEN + ">=?";
String[] selectionArgs = new String[]{String.valueOf(getStartOfDayInMilliSeconds(2023, 5, 1))};
String sortOrder = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, sortOrder);
if (cursor != null) {
while (cursor.moveToNext()) {
// 处理每张照片的信息,比如获取照片ID、名称、拍摄时间等
long id = cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media._ID));
String name = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME));
long dateTaken = cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN));
// 处理照片信息
}
cursor.close();
}
```
其中,`getStartOfDayInMilliSeconds()`函数可以用于获取指定日期的零点时间的时间戳(单位:毫秒),代码如下:
```java
private long getStartOfDayInMilliSeconds(int year, int month, int day) {
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day, 0, 0, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTimeInMillis();
}
```
这样,您就可以通过ContentResolver查询从2023-05-01到今天的所有照片的信息了。
阅读全文