我尝试使用此功能检查我的网络状态(已连接或已断开连接):
// 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
}