MediaStore:从播放列表中删除所有识别歌曲

MediaStore: Deletes all ident Songs from Playlist

当我在播放列表中有 2 首具有相同 audioID 的歌曲并且我想删除 其中的 1 首 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 的歌曲。

我考虑过检查删除了多少首歌曲,如果超过一首我就重新添加。但是这样会打乱播放列表的顺序,我觉得效果不是很好

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);