Por que meu temporizador Observable nunca é chamado?

No Android, escrevi umObservable que deve ser chamado uma vez após 2000 ms, mas que nunca é chamado.

    Observable.timer(2000, TimeUnit.MILLISECONDS) // wait 2000 msec
            .subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread())
            .flatMap(new Func1<Long, Observable<?>>() {

        @Override public Observable<?> call(Long aLong) {
            continuePlayback(); // this line is never called
            return null;
        }

    });

eu quero oObservable para aguardar a discussão principal e chamecontinuePlayback() na linha principal. A ajuda de contexto me permitiu colocarsubscribeOn/observeOn Entre otimer eflatMap. Isso está correto? O que realmente está acontecendo aqui e o que eu fiz de errado?

O que acontece com oObservable depois da ligação? Ele permanecerá vivo ou precisarei explicitamente derrubá-lo de alguma forma, por exemplo ligarOnCompleted()?

questionAnswers(1)

yourAnswerToTheQuestion