在 Compose for Desktop 中,我如何跟踪互联网连接状态?

问题描述 投票:0回答:1

我想不断检查互联网连接状态,以阻止我的应用程序(通过对话框窗口通知问题),直到重新建立网络。由于我没有使用 Compose for Android,因此我无权访问 ConnectivityManager 类,因为我已经在网上看到这个问题的其他相关答案中使用了该类。我怎样才能在 Compose for Desktop 中实现这一点?

kotlin android-jetpack-compose desktop-application
1个回答
0
投票

基本上 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 网站的情况(例如,由于防火墙限制)。

© www.soinside.com 2019 - 2024. All rights reserved.