I just found out this settings option in Spotify for Android settings screen:
"Device broadcast status - allow other apps on your device to see what
you are listening to"
I guess that means any other app can access what's being played via Spotify. How can this be implemented? Is there any documentation around?
Thanks
Spotify has the following intent-actions:
metadatachanged,
playbackstatechanged, and
queuechanged.
queuechanged contains no extra data.
playbackstatechanged has a boolean value for "playing", and a value for playbackPosition.
metadatachanged contains artist, album, track, length, and id values.
You can get Artist, Track, and Album names when the track is changed (manually or automatically) by using com.spotify.mobile.android.metadatachanged
If Spotify is paused and started again, only playbackstatechanged is broadcast.
Spotify broadcasts using the standard com.android.music.metachanged
intent-action.
Register a BroadcastReceiver for that intent-action, then just pick out metadata using
String artist = intent.getStringExtra("artist");
String album = intent.getStringExtra("album");
String track = intent.getStringExtra("track");