我想不断检查互联网连接状态,以阻止我的应用程序(通过对话框窗口通知问题),直到重新建立网络。由于我没有使用 Compose for Android,因此我无权访问 ConnectivityManager 类,因为我已经在网上看到这个问题的其他相关答案中使用了该类。我怎样才能在 Compose for Desktop 中实现这一点?
基本上 Compose for Desktop 意味着您可以使用任何 JVM/Java/Kotlin 方式检查互联网连接。
一个选择是使用
NetworkUtils
包提供的 java.net
类。
import java.net.InetAddress
import java.net.UnknownHostException
fun isInternetAvailable(): Boolean {
return try {
val address = InetAddress.getByName("www.google.com")
address != null && !address.equals("")
} catch (e: UnknownHostException) {
false
}
}
您正在检查是否可以通过尝试解析它的 IP 地址来访问 Google。
请注意,此方法并非万无一失,可能会出现互联网可用但无法访问 Google 网站的情况(例如,由于防火墙限制)。