Я использую следующую библиотеку ReactiveNetwork , чтобы прослушать изменения в сети, чтобы определить, когда сеть отключена, но я реализовал это на BaseActivity, но неничего не делать.
Что-то не так?Дайте мне знать.
public class BaseActivity extends AppCompatActivity {
private Disposable networkDisposable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
connectivityMonitorized();
safelyDispose(networkDisposable);
}
private void safelyDispose(Disposable... disposables) {
for (Disposable subscription : disposables) {
if (subscription != null && !subscription.isDisposed()) {
subscription.dispose();
}
}
}
@SuppressLint("CheckResult")
public void connectivityMonitorized(){
networkDisposable = ReactiveNetwork
.observeNetworkConnectivity(this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(connectivity -> {
if (connectivity.state() == NetworkInfo.State.DISCONNECTED || connectivity.state() == NetworkInfo.State.DISCONNECTING) {
//TODO DIALOG SHOWING DISCONNECTED
}
});
}
}
Я использую этот BaseActivity для расширения в других видах деятельности.
Спасибо