MediaStore从特定路径列出

时间:2017-02-24 05:56:45

标签: android android-contentresolver mediastore

我正在尝试从特定文件夹中获取mp3文件列表。

截至目前,我正在使用contentResolver.query从手机中获取音乐。

像这样:

String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";

        String[] projection = {
                MediaStore.Audio.Media._ID,
                MediaStore.Audio.Media.ARTIST,
                MediaStore.Audio.Media.TITLE,
                MediaStore.Audio.Media.DATA,
                MediaStore.Audio.Media.DISPLAY_NAME,
                MediaStore.Audio.Media.DURATION
        };

        ContentResolver contentResolver = context.getContentResolver();
        cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,projection, selection,null,null);

我正在寻找仅扫描特定文件夹的解决方案。如何使用contentResolver执行此操作?

谢谢!

1 个答案:

答案 0 :(得分:2)

终于把它弄清楚了。希望它能帮助别人。

而不是:

cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection, selection, null, null);

我用过这个:

cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection,MediaStore.Audio.Media.DATA + " like ? ",
                new String[] {"%MyMusicFolder%"},  null);