Android 通过observables监视Internet连接状态只运行一次
我想进行应用程序范围的internet连接监控,为此我使用rxjava,我创建了一个util类,并获得了连接状态的静态方法,如下所示:Android 通过observables监视Internet连接状态只运行一次,android,rx-java,rx-android,android-connectivitymanager,rx-binding,Android,Rx Java,Rx Android,Android Connectivitymanager,Rx Binding,我想进行应用程序范围的internet连接监控,为此我使用rxjava,我创建了一个util类,并获得了连接状态的静态方法,如下所示: val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager val activeNetworkInfo = connectivityManager.activeNetworkInfo
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE)
as ConnectivityManager
val activeNetworkInfo = connectivityManager.activeNetworkInfo
return Observable.just(activeNetworkInfo != null && activeNetworkInfo.isConnected)
isInternetOn(this).retry().subscribe({
Toast.makeText(this@MainActivity, it.toString(), Toast.LENGTH_SHORT).show()
})
在每次活动之后,我都会得到这方面的参考资料,并按如下方式订阅:
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE)
as ConnectivityManager
val activeNetworkInfo = connectivityManager.activeNetworkInfo
return Observable.just(activeNetworkInfo != null && activeNetworkInfo.isConnected)
isInternetOn(this).retry().subscribe({
Toast.makeText(this@MainActivity, it.toString(), Toast.LENGTH_SHORT).show()
})
问题是当“活动打开”时,toast显示正确的状态,但当我关闭/打开(更改internet连接状态)时,什么都不会发生,不会显示toast
谢谢大家! 您的解决方案将只提供一个一次性答案,用于接收您应该进行的网络更改的更新
谢谢@Yash如果我现在不想用它怎么办?只需
.subscribe()
@blackHawk