Android RxJava 之网络链接监听示范

RxJava在stream events处理上真的是一个利器。下面的示范代码显示如何用它来监听android设备的网络连接状况,实时接收change信息。

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
        AndroidObservable.fromBroadcast(this, filter)
                .subscribe(new Subscriber<Intent>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(Intent intent) {
                        boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
                        String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON);
                        Log.i(TAG,"is not connect "+noConnectivity );
} }); }

  

当然不要忘记在Androidmanifest添加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

  

原文地址:https://www.cnblogs.com/bluelife/p/4046245.html