Rx - Как отказаться от подписки автоматически после получения onNext()?

Как отказаться от подписки автоматически после получения onNext()?

На данный момент я использую этот код:

rxObservable
.compose(bindToLifecycle()) // unsubscribe automatically in onPause() if method was called in onResume()
.subscribe(new Subscriber<Object>() {
     ...
     @Override
     public void onNext(Object o) {
         unsubscribe();
     }
 });

Ответ 1

Я хочу "отказаться от подписки" сразу после первого события, оператор take путь.

 rxObservable.compose(bindToLifecycle())
             .take(1)
             .subscribe();

Ответ 2

Я думаю, что это то, что вам нужно:

 rxObservable.compose(bindToLifecycle())
             .takeFirst(lifecycleEvent -> lifecycleEvent == LifecycleEvent.PAUSE);