I am trying to query for the playlists created by "Google Play Music" app but haven't been able to do so. I created a playlist using locally stored content. I used the following code to query:
Cursor c = managedQuery(MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI,
new String[] {MediaStore.Audio.Playlists._ID,
MediaStore.Audio.Playlists.NAME
}, null, null, null);
This works fine for Winamp but not for Google Play Music. In fact, Winamp doesn't display the playlists created with Google Play Music. However, Google Play Music displays the playlists created with Winamp. My guess is that Google Play Music is using its own database to store the playlists where as other players use Content Provider with uri MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI to store their playlists. Is there a way to get playlists created with Google Play Music?
I know this thread is old, but I have been grappling with this problem too.
Google Play Music exposes its playlists at this non-standard Content URI
// list all playlists with their ID and Name
Cursor cursor = getContentResolver().query(
"content://com.google.android.music.MusicContent/playlists",
new String[] {"_id", "playlist_name" },
null, null, null);
The Google Play Music content provider uses the following column names
I would have never figured this out without this really helpful app Content Provider Helper
Try this.
String[] proj = {MediaStore.Audio.AudioColumns.TITLE,MediaStore.Audio.Media.ARTIST,MediaStore.Audio.Media._ID};
Uri gMusicUri = Uri.parse("content://com.google.android.music.MusicContent/audio");
Cursor cursor = getApplicationContext().getContentResolver()
.query(gMusicUri,
proj, null, null, null);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With