1

美好的一天,我正在尝试通过 MediaStore 查询从 SD 卡中的不同特定文件夹返回图像。到目前为止,我可以成功查询单个文件夹,但我陷入了如何为多个文件夹执行此操作的困境。代码是这样的:

cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, img, 
     MediaStore.Images.Media.DATA + " like ? ", new String[]{"%" + "dcim" + "%"}, null);

我尝试构建类似这样的查询和其他类似查询,但它不起作用:

cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, img, 
MediaStore.Images.Media.DATA + " like ? ", new String[]{"%" + "dcim" + "%","%" + "downloads" + "%" }, null);

请任何帮助将不胜感激。谢谢你。

4

2 回答 2

2

Should be something like that:

cursor = getContentResolver().query(
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
    img,
    MediaStore.Images.Media.DATA + " like ? OR "+MediaStore.Images.Media.DATA+" like ?", 
    new String[]{"%" + "dcim" + "%","%" + "downloads" + "%" }, 
    null);
于 2013-01-06T14:54:57.820 回答
0

一种可能的解决方案是对每个特定位置使用多个查询,然后使用CursorJoiner将它们连接起来,就像这里已经显示的那样:

我可以在 mediastore 查询中使用 JOIN

于 2012-02-23T10:31:20.253 回答