Romain Piel
Romain Piel

Reputation: 11177

How is it possible to know what's spotify is playing from an external Android app?

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

Upvotes: 11

Views: 13323

Answers (2)

iamgeef
iamgeef

Reputation: 745

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.

Upvotes: 17

Freddroid
Freddroid

Reputation: 2459

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");

Upvotes: 6

Related Questions