android 获取所有相册文件夹
时间: 2023-07-24 18:50:04 浏览: 61
您可以使用以下代码获取所有的相册文件夹:
```
String[] projection = {MediaStore.Images.Media.BUCKET_ID, MediaStore.Images.Media.BUCKET_DISPLAY_NAME};
String selection = MediaStore.Images.Media.MIME_TYPE + "=?";
String[] selectionArgs = {"image/jpeg"};
String orderBy = MediaStore.Images.Media.DATE_TAKEN + " DESC";
Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selection, selectionArgs, orderBy);
if (cursor != null) {
Map<String, String> albumMap = new HashMap<>();
while (cursor.moveToNext()) {
String bucketId = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_ID));
String bucketName = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));
if (!albumMap.containsKey(bucketId)) {
albumMap.put(bucketId, bucketName);
// 这里可以将相册名 bucketName 存入列表或其他数据结构中
}
}
cursor.close();
}
```
这段代码会查询所有 JPEG 图片,并按照拍摄日期倒序排列。然后遍历所有图片,将每个相册对应的 bucketId 和相册名 bucketName 存入一个 HashMap 中。最后可以将所有相册名添加到列表或其他数据结构中。