参考文档:文档中心
声明权限:ohos.permission.GET_NETWORK_INFO
{
"name": "ohos.permission.GET_NETWORK_INFO",
"reason": "$string:network_info_desc",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "inuse"
}
},
代码:
let network
try {
let netHandle = connection.getDefaultNetSync();
let getNetCapabilitiesSync = connection.getNetCapabilitiesSync(netHandle);
let bearerType: number = getNetCapabilitiesSync['bearerTypes'][0]
if (bearerType === connection.NetBearType.BEARER_CELLULAR) {
let slotId = data.getDefaultCellularDataSlotIdSync()
let signalInfos: Array<radio.SignalInformation> = radio.getSignalInformationSync(slotId);
let signalType = signalInfos[0]['signalType'] as number
switch (signalType) {
case radio.NetworkType.NETWORK_TYPE_NR:
network = '5G'
break
case radio.NetworkType.NETWORK_TYPE_LTE:
network = '4G'
break
case radio.NetworkType.NETWORK_TYPE_TDSCDMA:
case radio.NetworkType.NETWORK_TYPE_WCDMA:
network = '3G'
break
case radio.NetworkType.NETWORK_TYPE_CDMA:
case radio.NetworkType.NETWORK_TYPE_GSM:
network = '2G'
break
case radio.NetworkType.NETWORK_TYPE_UNKNOWN:
default:
network = 'unknown'
break
}
} else {
network = 'wifi'
}
} catch (e) {
network = 'unknown'
}
console.log('network :: ' + network)