请教下HarmonyOS Next有没有获取当前是否真实有网的接口?

比如当前链接的是wifi,但是当前wifi是不能访问网络的,有没有接口可以获取到这个真实的网络访问状态?

阅读 629
2 个回答

口味,你可以参考说明链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...
'netAvailable’用于当前网络可用状态的监听 在当前连接可以进行访问的网络时返回,
'netUnavailable’事件为网络已连接但不可访问时返回的回调,
netAvailable和netUnavailable均需要以连接网络状态为前提,网络可用调用netAvailable,网络不可用调用netUnavailable

首先需要获取NetManager的实例。通过NetManager检查设备是否连接到了网络。

import abilityFeatureAbility from '@ohos.ability.featureAbility';
import want from '@ohos.ability.Want';
import net from '@ohos.net.NetManager';

async function checkNetworkAccess() {
    try {
        const netManager = net.NetManager.getInstance();
        const networkState = await netManager.queryNetworkState();
        
        if (networkState.isConnected) {
            console.log("Network is connected.");
          const networkCapabilities = await netManager.queryNetworkCapabilities();
            if (networkCapabilities.hasInternet) {
                console.log("Network has internet access.");
            } else {
                console.log("Network does not have internet access.");
            }
        } else {
            console.log("Network is not connected.");
        }
    } catch (error) {
        console.error("Error checking network state: ", error);
    }
}

checkNetworkAccess();

可以使用NetManager提供的接口来检测网络是否具有互联网访问能力。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进