Android MediaStore在查询显示名称时返回null

Android MediaStore在查询显示名称时返回null,android,mediastore,Android,Mediastore,在某些罕见的情况下,MediaStore在尝试查询MediaStore.Video.VideoColumns.DISPLAY\u NAME时返回null String displayName = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DISPLAY_NAME)); 我猜它可能与文件名有关,因为它只在少数设备上报告。然而,我假设文件显示名不能为null,所以MediaStore返回null有点奇怪

在某些罕见的情况下,
MediaStore
在尝试查询
MediaStore.Video.VideoColumns.DISPLAY\u NAME
时返回
null

String displayName = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DISPLAY_NAME));

我猜它可能与文件名有关,因为它只在少数设备上报告。然而,我假设文件显示名不能为null,所以
MediaStore
返回
null
有点奇怪。有人遇到过类似的问题吗?

对于Android 9及更低版本,它可以为空。但在Android 10+上,它被设置为非空。@AnggrayudiH它怎么能变成空?我正在查看
MediaProvider
,似乎
DATA
列用于在直接查询返回null时间接查找
DISPLAY\u NAME
。对于存储中的文件,
数据
字段如何变为空?Android 10中已弃用该数据字段,该字段可能包含任何数据,也可能根本不包含任何数据。最符合逻辑的是,如果DISPLAY_NAME为空,则TITLE字段应该是最符合逻辑的可选字段,尽管此字段不包含媒体扩展名。