MediaStore returns 查询 DISPLAY_NAME 时为空

MediaStore returns null when querying for DISPLAY_NAME

在极少数情况下,MediaStore returns null 在尝试使用以下代码片段

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

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

我们在一台设备上遇到了同样的问题。

如果 DISPLAY_NAME 为空,则可以使用 TITLE。

String displayName = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.DISPLAY_NAME));
if (displayName == null) {
    displayName = cursor.getString(cursor.getColumnIndex(MediaStore.Video.VideoColumns.TITLE));
}