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);
当我在播放列表中有 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);