java - 为什么查询 Androids MediaStore 返回空光标?

标签 java android api video mediastore

我正在使用 Android 的 MediaStore 来检索我用我的应用程序录制的视频文件的持续时间/拍摄日期。它适用于旧文件,但我记录的最新文件确实返回空(非空)光标。我不明白为什么会这样,是 MediaStore 没有立即更新还是我在下面使用的代码有问题?感谢您的帮助!

Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.MediaColumns.DISPLAY_NAME + " LIKE '"+file.getName()+"'";
Cursor cursor = getContentResolver().query(uri, new String[]{MediaStore.Video.VideoColumns.DATE_TAKEN,MediaStore.Video.VideoColumns.DURATION}, selection, null, null);

最佳答案

我也遇到了同样的问题。打印堆栈跟踪揭示了这个问题。 请在 list 中添加此权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

关于java - 为什么查询 Androids MediaStore 返回空光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416623/

相关文章:

java - 当我可以使用后者创建文件时,为什么我应该创建 File 对象,然后在 FileWriter 或 PrintWriter 中使用它?

android - 在安卓用户之间共享数据

mysql - 如何使用 Node Js 创建嵌套 JSON 响应

java - 声明式 OSGi 服务

java - 抓取数据类列表的随机索引

android.widget.LinearLayout 无法转换为 android.widget.TableRow

android - 您需要在 zendesk sdk 中将 Theme.AppCompat 主题(或后代)与此 Activity 一起使用

javascript - 使用 javascript 获取 WordPress 站点中的菜单项

c# - 使用 C# 将图像上传到 Web API

java - 迭代二维数组的偏移量