Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通过observables监视Internet连接状态只运行一次_Android_Rx Java_Rx Android_Android Connectivitymanager_Rx Binding - Fatal编程技术网

Android 通过observables监视Internet连接状态只运行一次

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

我想进行应用程序范围的internet连接监控,为此我使用rxjava,我创建了一个util类,并获得了连接状态的静态方法,如下所示:

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