gpt4 book ai didi

Android MediaStore 查询 MediaStore.MediaColumns.TITLE column is null for some files

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:48:06 30 4
gpt4 key购买 nike

我正在查询 Android 的 MediaStore 文件数据库 -MediaStore.Files.getContentUri("external") - 对于某些特定文件夹,MediaStore.MediaColumns。 TITLEMediaStore.MediaColumns.DISPLAY_NAME 为空,而对于其他文件夹,此值存在。我找不到关于 MediaStore.MediaColumns.TITLE 的任何文档可能为空。

一些内部 Android 目录会发生这种情况,例如:

_data: /storage/emulated/0/Music, title: null, _display_name: null
_data: /storage/emulated/0/Notifications, title: null, _display_name: null
_data: /storage/emulated/0/Pictures, title: null, _display_name: null

但是,对于其他一些文件夹,标题在那里:

 _data: /storage/emulated/0/Android, title: Android, _display_name: null
_data: /storage/emulated/0/DCIM, title: DCIM, _display_name: null
_data: /storage/emulated/0/Download, title: Download, _display_name: null

所有数据都直接来自 MediaStore 查询。

我知道我可以直接使用数据,但我正在尝试根据 TITLE 对查询进行排序,这会导致不正确的结果,因为有些是空的。

这是预期的行为吗?如何处理它并检索所有按标题正确排序的文件?

最佳答案

看起来这是一个 android 限制。您总是可以尝试通过这样的方式下订单:

select substr(
substr(substr(MediaStore.MediaColumns.DATA, instr(MediaStore.MediaColumns.DATA, '/') + 1), instr(substr(MediaStore.MediaColumns.DATA, instr(MediaStore.MediaColumns.DATA, '/') + 1), '/') + 1),
instr(substr(substr(MediaStore.MediaColumns.DATA, instr(MediaStore.MediaColumns.DATA, '/') + 1), instr(substr(MediaStore.MediaColumns.DATA, instr(MediaStore.MediaColumns.DATA, '/') + 1), '/') + 1), '/') + 1
) from tablename;

请注意,这不是递归的,但最多只适用于 3 个“/”。

这可以递归完成,但后来才在 Android 上引入

关于Android MediaStore 查询 MediaStore.MediaColumns.TITLE column is null for some files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37048460/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com