Я не эксперт, но из их документации похоже, вы могли бы смотреть PlayerState
. Я также не уверен, когда сработает событие PlayerState
, но если оно возвращается относительно часто, вы можете проверить значение track
и посмотреть, достигло ли оно значения null
, или другого значения и работать с ним.
Вот пример Java с их сайта:
// Subscribe to PlayerState
mSpotifyAppRemote.getPlayerApi()
.subscribeToPlayerState()
.setEventCallback(new Subscription.EventCallback<PlayerState>() {
public void onEvent(PlayerState playerState) {
// See what values are in playerState, might be able to determine
// if it's now randomly playing?
final Track track = playerState.track;
if (track != null) {
Log.d("MainActivity", track.name + " by " + track.artist.name);
// If the track is now different, your song has finished, stop it?
}
}
});
Я поместил несколько дополнительных комментариев в приведенном выше коде, которые могут дать некоторые результаты!