现在可以在哪里找到AndroidObservable.fromBroadcast?

时间:2016-01-03 10:40:41

标签: java android broadcastreceiver rx-java

在1.0.0之前,RxAndroid中有AndroidObservablefromBroadcast类,用于以反应方式订阅广播。它在Grokking RxJava中提到:

  

我也喜欢AndroidObservable.fromBroadcast(),它可以让您创建一个像Observable一样的BroadcastReceiver。这是一种在网络连接发生变化时得到通知的方式:

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
AndroidObservable.fromBroadcast(context, filter)
                 .subscribe(intent -> handleConnectivityChange(intent));

在1.0.0之后,RxAndroid放弃了很多功能,并分成了RxAndroid本身,现在只有线程,RxLifecycleRxBindings

它们似乎都不包含AndroidObservable fromBroadcastfromSharedPreferenceChange

是否在某些实际和受支持的库中实现了?

2 个答案:

答案 0 :(得分:8)

此功能was removed in 1.0 release是模块化工作的一部分。您可以在RxBroadcast找到替代品。要使用它,请向build.gradle添加依赖项:

compile 'com.cantrowitz:rxbroadcast:1.0.0'

使用如下:

Observable<Intent> = RxBroadcast.fromBroadcast(context, intentFilter);

答案 1 :(得分:1)

简而言之,它已被删除,我不知道有任何更换。

您可以看到here已将其重命名为AppObservable,然后here已将其与1.0版本一起删除,以便进行相当多的清理。

似乎有一些严重的问题。