2013-06-21 5 views
9

Ho appena scoperto questa opzione impostazioni Spotify per schermata delle impostazioni Android:Come è possibile sapere che cosa sta facendo Spotify da un'app Android esterna?

"Stato trasmissione dispositivo - consentono altre applicazioni sul dispositivo per vedere cosa si sta ascoltando"

immagino ciò significa che qualsiasi altra app può accedere a ciò che viene riprodotto tramite Spotify. Come può essere implementato? C'è qualche documentazione in giro?

Grazie

+1

Controlla [LibSpotify] (https://developer.spotify.com/technologies/libspotify/), è una libreria C ma puoi vedere un [esempio] (https://github.com/spotify/psyonspotify) se fosse integrato su un'app per Android, può aiutarti. – AlexBcn

+0

grazie avrò uno sguardo –

+1

Chiunque dal team di Spotify si preoccupi di rispondere a questo? Presumo che l'impostazione trasmetta un Intent, ma abbiamo bisogno che il nome dell'azione sia in grado di usarlo. – Tenfour04

risposta

16

Spotify ha le seguenti intent-azioni:

metadatachanged, playbackstatechanged e queuechanged.

in coda non contiene dati aggiuntivi.
playbackstatechanged ha un valore booleano per "riproduzione" e un valore per playbackPosition.
metadatachanged contiene artista, album, traccia, lunghezza e valori di identificazione.

È possibile ottenere i nomi artista, brano, album e quando la pista è cambiata (manualmente o automaticamente) utilizzando com.spotify.mobile.android.metadatachanged

Se Spotify è in pausa e ha iniziato di nuovo, viene trasmesso solo il playbackstatechanged.

+4

Sembra che questo sia cambiato in 'com.spotify.music.metadatachanged' e simili. –

+0

Scusa ma non ha funzionato per me.puoi aiutarmi con quello? – Nahid

+0

Questo è documentato su https://developer.spotify.com/technologies/spotify-android-sdk/android-media-notifications/ – Vitor

5

trasmissioni Spotify che utilizzano lo standard com.android.music.metachanged intent-azione. Registra un BroadcastReceiver per quella intent-azione, poi basta scegliere metadati utilizzando

String = artista intent.getStringExtra ("artista");
Stringa album = intent.getStringExtra ("album");
String track = intent.getStringExtra ("track");

+1

piuttosto bello! questo è ufficiale o è destinato a cambiare un giorno? –

+0

Senso è necessario attivare "Stato trasmissione dispositivo" dall'app Sto indovinando che è qui per rimanere. – Freddroid

+0

cool grazie amico! –

Problemi correlati