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

问题描述 投票:0回答:1

我想从“相机”文件夹中获取最后拍摄的图像。我不想获取最后的屏幕截图或其他任何内容。我只想拍摄“相机”文件夹的最后一张图像。

此代码有效,但是如果有一个名为“ 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 / emulated / 0 / DCIM / Camera。

java android mediastore android-9.0-pie
1个回答
0
投票

我可以使用]查询特定目录>

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");
© www.soinside.com 2019 - 2024. All rights reserved.