我有一个包含文件夹名称的ArrayList,其中包含歌曲:
private ArrayList<String> searchableDir = new ArrayList<String>();
searchableDir.add("/mnt/sdcard/Tracks/U2/");
searchableDir.add("/mnt/sdcard/Tracks/Coldplay/");
现在我想运行一个托管查询,它将从这两个文件夹中获取歌曲。 目前我只能一次获取一个文件夹:
String abc = "/mnt/sdcard/Tracks/U2/";
cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
projection, MediaStore.Audio.Media.DATA + " LIKE \""
+ abc + "%\"", null, MediaStore.Audio.Media.TITLE
+ " ASC");
以上查询的工作方式如下:
select _id from audio where _data like "/mnt/sdcard/Tracks/U2/%";
但我想创建一个单独的managedquery,它将从searchableDir arraylist中的所有文件夹中获取曲目。 请建议。
提前致谢。
答案 0 :(得分:0)
使用以下命令获取sdcard中的所有音频文件:
String [] STAR = {“*”};
Uri allaudiosong = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
字符串audioselection = MediaStore.Audio.Media.IS_MUSIC +“!= 0”;
光标光标= mContext.managedQuery(allaudiosong,STAR,audioselection,null,null);