android - 如何获取SD卡上的视频列表

标签 android

<分区>

如何获取 SD 卡上所有视频的列表?我刚开始学习 android,我想创建简单的视频播放器(我想将 sd 卡中的视频放在 GridView 中)。我的猜测是我应该递归扫描所有目录并过滤视频文件,对吗?我可以用 java 轻松完成,但也许 android 中有一些专用工具?

最佳答案

查询MediaStore内容提供者

http://developer.android.com/reference/android/provider/MediaStore.html

一个例子可以是

public static void printNamesToLogCat(Context context) {
    Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
    String[] projection = { MediaStore.Video.VideoColumns.DATA };
    Cursor c = context.getContentResolver().query(uri, projection, null, null, null);
    int vidsCount = 0;
    if (c != null) {
        vidsCount = c.getCount();
        while (c.moveToNext()) {
            Log.d("VIDEO", c.getString(0));
        }
        c.close();
    }
}

关于android - 如何获取SD卡上的视频列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997775/

相关文章:

javascript - 如何在 onCall() 函数中抛出 HttpsError 并在 Android 客户端上捕获

java - GdxRuntimeException : File not found

Android MediaPlayer 声音分辨率问题

android - 类路径中的某些运行时 JAR 文件具有不兼容的版本。考虑从类路径中删除它们

android - Android 中使用 SoapPrimitive 的 ksoap(网络服务)示例

java - 如何从 Volley 服务读取 [JSONArray[JSONArray]] 响应

Android - 从 Circular Reveal (Lollipop) 中删除背景

android - 当文本长于屏幕宽度时,为什么 WebView 无法正常工作?

android - FCM - 当应用程序被杀死/在后台时,应用程序收到通知但不播放通知声音

android - ListView 中的复选框无法正常工作