美好的一天,我试图通过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);
请任何帮助将不胜感激。谢谢。
答案 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一起加入,如下所示: