String[] projection = {MediaStore.Images.Media.BUCKET_ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME};
String selection = MediaStore.Images.Media.MIME_TYPE + "='image/jpeg' OR " + MediaStore.Images.Media.MIME_TYPE + "='image/png' OR " + MediaStore.Images.Media.MIME_TYPE + "='image/gif'";
String sortOrder = MediaStore.Images.Media.DATE_MODIFIED + " DESC";
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selection, null, sortOrder);
if (cursor != null) {
while (cursor.moveToNext()) {
String id = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_ID));
String name = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));
// do something with id and name
}
cursor.close();
}
上述代码中,我们使用了一个Content Resolver对象来查询存储在设备上的图片。这里,我们使用MediaStore.Images.Media.EXTERNAL_CONTENT_URI URI,因为我们只需要在外部存储中的相片。我们还使用MediaStore.Images.Media.BUCKET_ID和MediaStore.Images.Media.BUCKET_DISPLAY_NAME对相册进行排序和选择,以便在获取相册列表时进行过滤。
最后,使用id和name数据进行后续的操作。