我希望使用CursorLoader获取不在给定播放列表中的所有音乐。有可能吗?
我们可以使用以下代码获取列表中的所有音乐
loader = new CursorLoader(context, MediaStore.Audio.Playlists.Members
.getContentUri("external", playlistID), proj,
MediaStore.Audio.Media.IS_MUSIC + " != 0 ", null, ORDER_BY);
但我需要做相反的事情,即获取不在给定播放列表中的所有音乐。我怎么能这样做?
答案 0 :(得分:1)
我无法帮助你修复你的LowAcceptRateException
- 这是一个严重的失败,这可能会干扰长期回答的问题 - 但如果你不介意做那些难以维护的事情,滥用MediaProvider
中的内部功能,您可以这样做,以获取(特定)播放列表中不的歌曲。
loader = new CursorLoader(context, Audio.Media.EXTERNAL_CONTENT_URI, proj,
Media._ID + " NOT IN (SELECT audio_id FROM audio_playlists_map WHERE playlist_id=?) AND " +
MediaStore.Audio.Media.IS_MUSIC + " != 0 ",
new String[]{String.valueOf(playlistID}, ORDER_BY);
修改:已将audio_playlist_map
更正为audio_playlists_map