Отправить данные из сервиса в Android деятельности

Я создаю музыкальный плеер, который использует сервис для воспроизведения. У меня есть пользовательский интерфейс Activity, который контролирует (воспроизведение, пауза, далее, ...) службу. Я хочу обновить пользовательский интерфейс моего сервиса при нажатии следующей или предыдущей кнопки. Я думал о передаче целочисленного значения. Вот мой код:

Я использовал мессенджер для общения. Код в моем сервисе выглядит так:

enum Event {
    NextSongChanged, CurrentPlayingSong
};

public synchronized void registerHandler(Messenger m) {
    clients.add(m);
}


private void emit(Event e) {
    for (Messenger m : clients) {
        try {
            m.send(Message.obtain(null, e.ordinal()));
        } catch (RemoteException exception) {
            /* The client must've died */
            clients.remove(m);
        }
    }
}

Мой метод, который я вызываю при нажатии следующей кнопки:

public synchronized void playnext() {
    reset();
    if(songIndex <  (songsList.size() - 1)) {
        songIndex += 1;
        playSong(songIndex);
    } else {
        songIndex = 0;
        playSong(songIndex);
    }
    emit(Event.NextSongChanged);
}

Как только я запускаю событие NextSongChanged, я хочу пропуститьsongIndex» Переменная в моей деятельности. Есть идеи, как этого добиться?

Код моей активности для обработки события:

private Messenger playerMessenger = new Messenger(new Handler() {
    @Override
    public void handleMessage(Message msg) {
        switch (MyService.Event.values()[msg.what]) {
            case NextSongChanged:
                //String songTitle = songsList.get(currentSongIndex+1).get("songTitle");
                //currentSongIndex += 1;
                //songTitleLabel.setText(songTitle);
                //updatePlaying();
                break;

            case CurrentPlayingSong:
                break;
        }
    }
});

Ответы на вопрос(1)

Ваш ответ на вопрос