public static void ShuffleAll(Context context) { var cursor = SongLoader.CreateSongCursor(context, null, null); var trackList = SongLoader.GetSongListByCursor(cursor); var position = 0; if (trackList.Length == 0 || Service == null) { return; } try { Service.SetShuffleMode(MusicService.SHUFFLE_NORMAL); var mCurrentId = Service.GetAudioId(); var mCurrentQueuePosition = GetQueuePosition(); if (position != -1 && mCurrentQueuePosition == position && mCurrentId == trackList[position]) { var playlist = GetQueue(); if (Equals(trackList, playlist)) { Service.Play(); return; } } Service.Open(trackList, -1, -1, (int)MusicUtils.SourceTypeId.NA); Service.Play(); cursor.Close(); cursor = null; } catch { } }