我正在开发一款适用于Android的音乐播放器。我介绍了播放列表功能,用户可以在其中创建播放列表并将歌曲添加到播放列表。因此,在播放列表中,我实现了拖放功能(通过在列表中拖动它们将歌曲从一个位置移动到另一个位置)。此功能正常。但是我面临的问题是在拖放之后,我无法更新播放列表数据库(mediastore)。
编辑:我注意到其他音乐播放器显示更新的播放列表,但我的应用不会更新播放列表。
我正在使用的代码:
public static void trackMoved(int fromPosition, int toPosition) {
Uri uri = MediaStore.Audio.Playlists.Members.getContentUri("external",
pID)
.buildUpon()
.appendEncodedPath(String.valueOf(fromPosition))
.appendQueryParameter("move", "true")
.build();
ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER, toPosition);
cr.update(uri, values, null, null) ;
}
我发现解决方案实际上我必须根据播放顺序排序-_-。