获取文件夹中的所有音频文件

use*_*858 1 android

如何使用 ManagedQuery() 从 Android 中的特定文件夹中获取所有音频文件。表示 ManagedQuery() 中的 where 子句应该是什么来过滤 Cursor 结果。

代码是:

String[] proj = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.DURATION };
Cursor cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,proj, /*where clause here*/, null, null);
Run Code Online (Sandbox Code Playgroud)

Yeg*_*gor 5

IS_MUSIC != 0 AND DATA LIKE '/dir/%':

String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0 AND " +
            MediaStore.Audio.Media.DATA + " LIKE '/mnt/sdcard/Music/SomeArtist/%'";
Run Code Online (Sandbox Code Playgroud)

这会将您的 managedQuery 结果限制在 .../SomeArtist/ 目录中。