我尝试使用此功能检查我的网络状态(已连接或已断开连接):

// Check Network status
private fun isNetworkAvailable(): Boolean {
    val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE)
    return if (connectivityManager is ConnectivityManager) {
        val networkInfo = connectivityManager.activeNetworkInfo
        networkInfo.isConnected
    }
    else false
}

这给了我一个
java.lang.IllegalStateException: networkInfo 不能为 null - 错误
在断开网络的情况下运行时。为什么?我该如何解决这个问题?

最佳答案

根据 docs activeNetworkInfo 可能为空:



为确保它不会崩溃,只需使用以下命令:

 private fun isNetworkAvailable(): Boolean {
        val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE)
        return if (connectivityManager is ConnectivityManager) {
            val networkInfo: NetworkInfo? = connectivityManager.activeNetworkInfo
            networkInfo?.isConnected ?: false
        } else false
    }

10-05 17:48