我想从“相机”文件夹中获取最后拍摄的图像。我不想获取最后的屏幕截图或其他任何内容。我只想拍摄“相机”文件夹的最后一张图像。
此代码有效,但是如果有一个名为“ 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。
我可以使用]查询特定目录>
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");