How is it possible to know what's spotify is p

2019-01-10 23:39发布

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

2条回答
Evening l夕情丶
2楼-- · 2019-01-11 00:26

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.

查看更多
放我归山
3楼-- · 2019-01-11 00:32

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

查看更多
登录 后发表回答