【HarmonyOS NEXT】系统提供的api获取网络状态始终失败

【关键字】

@system.network / @ohos.net.connection / @ohos.telephony.radio

【问题描述】

使用系统提供的@system.network模块的getType方法,代码如下:

import network from '@system.network';
getType() {
network.getType({
success: (data) => {
console.log('success get network type:' + data.type);
return data.type;
},
fail: (data: string | object, code) => {
console.log('fail to get network type code:' + code + ', data:' + data);
return 'fail'
},
});
}

始终走入fail分支,一直调用不成功无法获取网络状态。

【解决方案】

@system.network (网络状态)模块已停止使用,请使用@ohos.net.connection(网络连接管理)模块接口获取。

可使用@ohos.net.connection模块的getNetCapabilities方法返回的bearerTypes[0]获取当前网络的连接类型(0为移动网络,1为Wi-Fi网络),如果为移动网络再调用@ohos.telephony.radio(网络搜索)模块的getSignalInformation方法判断当前网络使用的类型,对应如下:2G(GSM)、3G(TDSCDMA、WCDMA)、4G(LTE)、5G(NR)。

@ohos.net.connection(网络连接管理)模块接口文档请参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-net-connection-0000001774281662#ZH-CN_TOPIC_0000001774281662__connectiongetnetcapabilities

@ohos.telephony.radio(网络搜索)模块接口文档请参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-radio-0000001774122098#ZH-CN_TOPIC_0000001774122098__radiogetsignalinformation7

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值