HarmonyOS 如何快速判断当前网络的类型?

需要知道用户的卡在哪个卡槽,用户如果有两张卡,我如何知道哪个卡槽的卡是默认网络为蜂窝情况下正在使用的卡

另外,返回值是一个数组,一张卡还会有多个类型吗

阅读 600
1 个回答

1.可以使用 ‘@ohos.telephony.data’ 的能力获取当前使用的数据卡

let sloId = await data.getDefaultCellularDataSlotId()

2.信号的返回值是数组类型,但值只有一个(数组长度为1)

demo如下:

import radio from '@ohos.telephony.radio';
import data from '@ohos.telephony.data';

async obtnetinfo(){
  // 获取默认移动数据卡卡槽
  let sloId = await data.getDefaultCellularDataSlotId()
  // 获取网络强度信息
  let info = await radio.getSignalInformation(sloId);
  let type = info[0].signalType
}

参考文档

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-radio-V5\#networktype

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-telephony-data-V5\#datagetdefaultcellulardataslotid