有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Android getContentResolver()。在Android API级别<=28的设备中查询特定摄像头文件夹以获取光标

我想从相机文件夹中获取最后拍摄的图像。我不想看到最后一张截图或其他任何东西。我只想拍摄相机文件夹的最后一张图像

这段代码可以工作,但是如果有一个名为“Cameras”或“xxx..Camera..xxx”的文件夹,程序也会获取这些文件夹的数据

 cursor = MainActivity.this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                null,
                MediaStore.Images.Media.DATA + " like ? ",
                new String[] {"%Camera%"},
                MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

但我不想查询名称中包含“Camera”字符序列的文件夹。我只想查询相机默认保存文件夹。在我的例子中是/storage/simulated/0/DCIM/Camera


共 (1) 个答案

  1. # 1 楼答案

    我可以使用

    MediaStore.Images.Media.BUCKET_DISPLAY_NAME
    

    现在我的代码是这样工作的,没有任何问题:

    cursor = MainActivity.this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                    null,
                    MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " = ? ",
                    new String[] {"Camera"},
                    MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");