注意:经过测试,onComplted之后,观察者将收不到消息,取消订阅函数得到执行
private void test(){Observable.create(new Observable.OnSubscribe<String>() {@Override public void call(Subscriber<? super String> subscriber) {Log.i("main", "call执行");subscriber.onNext("Hello");subscriber.onNext("Hi");subscriber.onCompleted();//onComplted之后,观察者将收不到消息,取消订阅函数得到执行 subscriber.onNext("Aloha");}}).doOnUnsubscribe(new Action0() {@Override public void call() {Log.i("main", "取消注册了");}}).subscribe(new Subscriber<String>() {@Override public void onNext(String s) {System.out.println(s);Log.i("main", "onNext执行");}@Override public void onCompleted() { // Log.i("main", "onCompleted执行");System.out.println("Completed!"); }@Override public void onError(Throwable e) {Log.i("main", "onError执行");System.out.println("Ouch!"); }}); }