我正在尝试以两种不同的方式查询MediaStore。一种是显示不在排除列表中的文件夹中的所有图像。另一种是只显示排除列表中的文件夹。我可以显示所有文件夹,但是无法显示排除的文件夹。
这是第一个查询
Query{
uri=content://media/external/file
projection=[parent, bucket_display_name, count(*), _data, max(date_modified)]
selection='media_type=? or media_type=?) group by (parent) HAVING (_data NOT LIKE ? '
args=[1, 3, /storage/emulated/0/Test]
sortMode='bucket_display_name'
ascending='true'
limit='-1'}
应显示除排除文件夹外的所有文件夹。 “ _data不喜欢/ storage / emulated / 0 / Test”
我也尝试过这样
Query{
uri=content://media/external/file
projection=[parent, bucket_display_name, count(*), _data, max(date_modified)]
selection='media_type=? or media_type=?) group by (parent) HAVING (_data != ? '
args=[1, 3, /storage/emulated/0/Test]
sortMode='bucket_display_name'
ascending='true'
limit='-1'}
使用!=而不是不喜欢。
我也尝试过使用通配符
args=[1, 3, %/storage/emulated/0/Test%]
但是如果我有一个Test2文件夹,它也会显示我不想要的文件夹。
然后,我用来显示排除的唯一区别是将!=变成= OR不喜欢。
这是光标找到的文件夹的列表
D/Folder: FolderCursor - path: /storage/emulated/0/Misc
FolderCursor - name: Misc
FolderCursor - id: 1902
FolderCursor - count: 3
FolderCursor - dm: -1
Folder: Pictures id: 6
D/Folder: FolderCursor - path: /storage/emulated/0/Pictures
FolderCursor - name: Pictures
FolderCursor - id: 6
FolderCursor - count: 1792
FolderCursor - dm: 1523304236
Folder: Test id: 1900
D/Folder: FolderCursor - path: /storage/emulated/0/Test
FolderCursor - name: Test
FolderCursor - id: 1900
FolderCursor - count: 1
FolderCursor - dm: -1
Folder: test2 id: 1906
FolderCursor - path: /storage/emulated/0/test2
D/Folder: FolderCursor - name: test2
FolderCursor - id: 1906
FolderCursor - count: 3
FolderCursor - dm: -1
请帮助我弄清楚如何获得包含和不包含排除文件夹的文件夹的结果。