如果我在播放列表中有两首带有相同audioID的歌曲,并且我想删除只有一首 2首歌曲,那么我应该更改此代码?
static public int removeSongFromPlaylist(Context ctx, long playlist_id, long song_id) {
ContentResolver resolver = ctx.getContentResolver();
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external", playlist_id);
int res = resolver.delete(uri, MediaStore.Audio.Playlists.Members.AUDIO_ID+" = "+song_id, null);
reloadPlaylistList(ctx);
return res;
}
因为这会删除带有参数给出的audioID的所有歌曲。
我考虑过检查删除了多少首歌曲,如果它们超过1则我只是再次添加它们。但这会弄乱播放列表的顺序,我认为它不是很有效。
答案 0 :(得分:2)
delete(Uri url, String where, String[] selectionArgs)
Uri uri = ...
String where = "song_id=? LIMIT 1";
String[] args = new String{song_id};
现在resolver(uri, where, args);