gpt4 book ai didi

android - 检查 Continuos Connection 未在 BaseActivity 中启动

转载 作者:行者123 更新时间:2023-11-30 05:01:43 25 4
gpt4 key购买 nike

我正在使用下一个库 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 来扩展其他 Activity 。

谢谢

最佳答案

理想情况下,您在订阅后立即处理 networkDisposable 它应该在 Activity 销毁时处理,这就是为什么您没有获得任何网络更新将 safelyDispose() 移动到销毁

@Override
protected void onDestroy() {
super.onDestroy();
safelyDispose(networkDisposable);
}

关于android - 检查 Continuos Connection 未在 BaseActivity 中启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58131736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com