我正在处理音频播放器中的播放列表。我已经返回一个代码来将歌曲添加到播放列表。代码工作正常,但我有一个小问题。问题是如果我将一首歌曲添加到播放列表,则会添加两首相同歌曲的副本。就像,如果我将歌曲A添加到播放列表然后打开我添加了歌曲A的播放列表,我可以在那里看到两个歌曲A的副本。
代码:
public static void AddSongToPlaylist(long songID, long pID, Context context ){
Uri pUri = MediaStore.Audio.Playlists.Members.getContentUri("external", pID);
ContentResolver resolver = context.getContentResolver();
ContentValues values = new ContentValues();
String[] cols = new String[] {
"count(*)"
};
Cursor cur = resolver.query(pUri, cols, null, null, null);
cur.moveToFirst();
final int base = cur.getInt(0)+1;
cur.close();
values.put(MediaStore.Audio.Playlists.Members.PLAY_ORDER,base);
values.put(MediaStore.Audio.Playlists.Members.AUDIO_ID, songID);
resolver.insert(pUri,values);
resolver.notifyChange(Uri.parse("content://media"), null);
Log.i("URI:",resolver.insert(pUri, values)+"");
Toast.makeText(context, "Song Added", Toast.LENGTH_SHORT).show();
Log.i("Song ID:", String.valueOf(songID));
}
答案 0 :(得分:-1)
停止通过resolver.insert()
再次致电Log.i()
。