HarmonyOS 获取当前设备的网络连接是wifi还是移动网络

HarmonyOS
15h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可以获取网络相关信息的demon如下

import connection from '@ohos.net.connection';
import data from '@ohos.telephony.data';
import radio from '@ohos.telephony.radio';
import wifiManager from '@ohos.wifiManager';

export async function obtNetInfo(){
  let curNet = await connection.getDefaultNet();
  let netAbility = await connection.getNetCapabilities(curNet);
  let netType = netAbility.bearerTypes;

  if(connection.NetBearType.BEARER_CELLULAR == netType[0]){
    // 移动网络
    // 获取当前移动数据使用的卡槽
    let cardId = await data.getDefaultCellularDataSlotId();

    // 获取网络信号强度信息
    let signalInfo = await radio.getSignalInformation(cardId);
    let info = signalInfo[0];

    // 强度类型 GSM/CDMA/WCDMA/TDSCDMA/LTE/NR 对应3/4/5g
    let signalType = info.signalType;

    // 强度等级
    let signalLevel = info.signalLevel;

    // 强度
    let dbm = info.dBm;

  }else if(connection.NetBearType.BEARER_WIFI == netType[0]){
    // wifi
    let wifiInfo = await wifiManager.getLinkedInfo();

    // wifi信号强度
    let dbm = wifiInfo.rssi

    // 上行速度
    let upSpeed = wifiInfo.linkSpeed;

    //下行速度
    let downSpeed = wifiInfo.rxLinkSpeed

  }else {
    // 以太网
  }
}
分享
微博
QQ
微信
回复
12h前
相关问题
获取当前网络连接能力
794浏览 • 1回复 待解决
获取netHandle网络连接信息
615浏览 • 1回复 待解决
如何获取当前设备所在网络ip
579浏览 • 1回复 待解决
网络连接管理connection中this指向问题
580浏览 • 1回复 待解决
wifi连接候选网络报错{code : 2501000 }
455浏览 • 1回复 待解决
HarmonyOS如何获取当前网络状态
699浏览 • 1回复 待解决
判断当前设备手机还是平板
6411浏览 • 1回复 待解决
获取当前网络状态方法
789浏览 • 1回复 待解决
如何校验当前设备手机还是平板
8383浏览 • 1回复 已解决