构建MediaStore查询uri以获取SD卡上的多个文件夹

时间:2011-10-06 15:20:06

标签: android mediastore

美好的一天,我试图通过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);

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

2 个答案:

答案 0 :(得分:1)

应该是这样的:

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);

答案 1 :(得分:0)

一种可能的解决方案是对每个特定位置使用多个查询,然后将其与CursorJoiner一起加入,如下所示:

Android Can I use JOIN at mediastore query