如何使用 MediaStore 获取包含图像的所有文件夹?
How can I get all folders that contain the images using MediaStore?
我正在使用此代码从用户图库获取所有图像:
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = MediaStore.Images.Media.query(requireContext().getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, MediaStore.Images.Media.DATE_ADDED + " desc");
while (cursor.moveToNext()) {
list.add(cursor.getString(0));
}
请问如何使用MediaStore获取包含上述图片的所有文件夹?
我在发布这个问题之前用谷歌搜索以避免重复的问题,但我没有找到我想要的任何东西,我找到了相关的问题,但它是针对 Android 10 及以上的。
谢谢。
我用这种方式找到了所有图片文件夹
Cursor cursor = MediaStore.Images.Media.query(
requireContext().getContentResolver(),
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[]{MediaStore.Images.Media.BUCKET_DISPLAY_NAME});
while (cursor.moveToNext()) {
Log.w("G183", cursor.getString(0));
}
您可以按照自己的方式处理所有文件夹并删除重复的文件夹。
但是有一点很奇怪
MediaStore.Images.Media.BUCKET_DISPLAY_NAME
添加到 API 级别 29 但同时,它正在 API 级别低于 29。如何?
我通过这个 answer 找到了解决方案,因为如果您注意到 2014 年发布的答案和 2020 年发布的 android 10,那么我说了他在 2014 年如何使用 MediaStore.Images.Media.BUCKET_DISPLAY_NAME
但是这个2020 年新增!
我正在使用此代码从用户图库获取所有图像:
String[] projection = {MediaStore.Images.Media.DATA};
Cursor cursor = MediaStore.Images.Media.query(requireContext().getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, MediaStore.Images.Media.DATE_ADDED + " desc");
while (cursor.moveToNext()) {
list.add(cursor.getString(0));
}
请问如何使用MediaStore获取包含上述图片的所有文件夹?
我在发布这个问题之前用谷歌搜索以避免重复的问题,但我没有找到我想要的任何东西,我找到了相关的问题,但它是针对 Android 10 及以上的。
谢谢。
我用这种方式找到了所有图片文件夹
Cursor cursor = MediaStore.Images.Media.query(
requireContext().getContentResolver(),
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[]{MediaStore.Images.Media.BUCKET_DISPLAY_NAME});
while (cursor.moveToNext()) {
Log.w("G183", cursor.getString(0));
}
您可以按照自己的方式处理所有文件夹并删除重复的文件夹。
但是有一点很奇怪
MediaStore.Images.Media.BUCKET_DISPLAY_NAME
添加到 API 级别 29 但同时,它正在 API 级别低于 29。如何?
我通过这个 answer 找到了解决方案,因为如果您注意到 2014 年发布的答案和 2020 年发布的 android 10,那么我说了他在 2014 年如何使用 MediaStore.Images.Media.BUCKET_DISPLAY_NAME
但是这个2020 年新增!