鸿蒙开发电话服务:【@ohos.telephony.radio (网络搜索)】

网络搜索

说明:

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

复制代码
import radio from '@ohos.telephony.radio'

radio.getRadioTech

getRadioTech(slotId: number, callback: AsyncCallback<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>): void

获取当前接入的CS域和PS域无线接入技术,使用callback方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback<{psRadioTech: RadioTechnology, csRadioTech:RadioTechnology}> 回调函数。

示例:

复制代码
let slotId = 0;
radio.getRadioTech(slotId, (err, data) =>{ 
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getRadioTech

getRadioTech(slotId: number): Promise<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}>

获取当前接入的CS域和PS域无线接入技术,使用Promise方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
Promise<{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology}> 以Promise形式返回获取当前接入的CS域和PS域技术。

示例:

复制代码
let slotId = 0;
let promise = radio.getRadioTech(slotId);
promise.then(data => {
    console.log(`getRadioTech success, data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getRadioTech fail, err->${JSON.stringify(err)}`);
});

radio.getNetworkState

getNetworkState(callback: AsyncCallback): void

获取网络状态,使用callback方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
callback AsyncCallback<NetworkState> 回调函数。

示例:

复制代码
radio.getNetworkState((err, data) =>{
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNetworkState

getNetworkState(slotId: number, callback: AsyncCallback): void

获取网络状态,使用callback方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback<NetworkState> 回调函数。

示例:

复制代码
let slotId = 0;
radio.getNetworkState(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNetworkState

getNetworkState(slotId?: number): Promise

获取网络状态,使用Promise方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
Promise<NetworkState> 以Promise形式返回网络状态。

示例:

复制代码
let slotId = 0;
let promise = radio.getNetworkState(slotId);
promise.then(data => {
    console.log(`getNetworkState success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getNetworkState fail, promise: err->${JSON.stringify(err)}`);
});

radio.getNetworkSelectionMode

getNetworkSelectionMode(slotId: number, callback: AsyncCallback): void

获取当前选网模式,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback<NetworkSelectionMode> 回调函数。

示例:

复制代码
let slotId = 0;
radio.getNetworkSelectionMode(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getNetworkSelectionMode

getNetworkSelectionMode(slotId: number): Promise

获取当前选网模式,使用Promise方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
Promise<NetworkSelectionMode> 以Promise形式返回当前选网模式。

示例:

复制代码
let slotId = 0;
let promise = radio.getNetworkSelectionMode(slotId);
promise.then(data => {
    console.log(`getNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getNetworkSelectionMode fail, promise: err->${JSON.stringify(err)}`);
});

radio.getISOCountryCodeForNetwork7+

getISOCountryCodeForNetwork(slotId: number, callback: AsyncCallback): void

获取注册网络所在国家的ISO国家码,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback 回调函数。返回国家码,例如:CN(中国)。

示例:

复制代码
let slotId = 0;
radio.getISOCountryCodeForNetwork(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getISOCountryCodeForNetwork7+

getISOCountryCodeForNetwork(slotId: number): Promise

获取注册网络所在国家的ISO国家码,使用Promise方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
Promise 以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。

示例:

复制代码
let slotId = 0;
let promise = radio.getISOCountryCodeForNetwork(slotId);
promise.then(data => {
    console.log(`getISOCountryCodeForNetwork success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getISOCountryCodeForNetwork fail, promise: err->${JSON.stringify(err)}`);
});

radio.getPrimarySlotId7+

getPrimarySlotId(callback: AsyncCallback): void

获取主卡所在卡槽的索引号,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
callback AsyncCallback 回调函数

示例:

复制代码
radio.getPrimarySlotId((err, data) => {
   console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getPrimarySlotId7+

getPrimarySlotId(): Promise

获取主卡所在卡槽的索引号,使用Promise方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

返回值:

类型 说明
Promise 以Promise形式返回获取设备主卡所在卡槽的索引号的结果。

示例:

复制代码
let promise = radio.getPrimarySlotId();
promise.then(data => {
    console.log(`getPrimarySlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getPrimarySlotId fail, promise: err->${JSON.stringify(err)}`);
});

radio.getSignalInformation7+

getSignalInformation(slotId: number, callback: AsyncCallback<Array>): void

获取指定SIM卡槽对应的注册网络信号强度信息列表,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback<Array<SignalInformation>> 回调函数,返回SignalInformation对象的数组。

示例:

复制代码
let slotId = 0;
radio.getSignalInformation(slotId, (err, data) => {
   console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getSignalInformation7+

getSignalInformation(slotId: number): Promise<Array>

获取指定SIM卡槽对应的注册网络信号强度信息列表,使用Promise方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
Promise<Array<SignalInformation>> 以Promise形式返回网络信号强度SignalInformation对象的数组。

示例:

复制代码
let slotId = 0;
let promise = radio.getSignalInformation(slotId);
promise.then(data => {
    console.log(`getSignalInformation success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`getSignalInformation fail, promise: err->${JSON.stringify(err)}`);
});

radio.isNrSupported8+

isNrSupported(slotId: number): boolean

判断当前设备是否支持5G(NR)。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
boolean - true:支持 - false:不支持

示例:

复制代码
let slotId = 0;
let result = radio.isNrSupported(slotId);
console.log("Result: "+ result);

radio.isRadioOn7+

isRadioOn(callback: AsyncCallback): void

判断主卡的Radio是否打开,使用callback方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
callback AsyncCallback 回调函数。 - true:Radio打开 - false:Radio关闭

示例:

复制代码
radio.isRadioOn((err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.isRadioOn7+

isRadioOn(slotId: number, callback: AsyncCallback): void

判断指定卡槽位的Radio是否打开,使用callback方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback 回调函数。 - true:Radio打开 - false:Radio关闭

示例:

复制代码
let slotId = 0;
radio.isRadioOn(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.isRadioOn7+

isRadioOn(slotId?: number): Promise

判断Radio是否打开,使用Promise方式作为异步方法。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2 如果不指定slotId,默认判断主卡Radio是否打开

返回值:

类型 说明
Promise 以Promise形式返回判断Radio是否打开的结果。 - true:Radio打开 - false:Radio关闭

示例:

复制代码
let slotId = 0;
let promise = radio.isRadioOn(slotId);
promise.then(data => {
    console.log(`isRadioOn success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.error(`isRadioOn fail, promise: err->${JSON.stringify(err)}`);
});

radio.getOperatorName7+

getOperatorName(slotId: number, callback: AsyncCallback): void

获取运营商名称,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2
callback AsyncCallback 回调函数。返回运营商名称,例如:中国移动。

示例:

复制代码
let slotId = 0;
radio.getOperatorName(slotId, (err, data) => {
    console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});

radio.getOperatorName7+

getOperatorName(slotId: number): Promise

获取运营商名称,使用Promise方式作为异步方法。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名 类型 必填 说明
slotId number 卡槽ID。 - 0:卡槽1 - 1:卡槽2

返回值:

类型 说明
Promise 以Promise形式返回运营商名称,例如:中国移动。

示例:

复制代码
let slotId = 0;
let promise = radio.getOperatorName(slotId);
promise.then(data => {
    console.log(`getOperatorName success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
    console.log(`getOperatorName fail, promise: err->${JSON.stringify(err)}`);
});

RadioTechnology

无线接入技术。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称 说明
RADIO_TECHNOLOGY_UNKNOWN 0 未知无线接入技术(RAT)。
RADIO_TECHNOLOGY_GSM 1 无线接入技术GSM(Global System For Mobile Communication)。
RADIO_TECHNOLOGY_1XRTT 2 无线接入技术1XRTT(Single-Carrier Radio Transmission Technology)。
RADIO_TECHNOLOGY_WCDMA 3 无线接入技术WCDMA(Wideband Code Division Multiple Access)。
RADIO_TECHNOLOGY_HSPA 4 无线接入技术HSPA(High Speed Packet Access)。
RADIO_TECHNOLOGY_HSPAP 5 无线接入技术HSPAP(High Speed packet access (HSPA+) )。
RADIO_TECHNOLOGY_TD_SCDMA 6 无线接入技术TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。
RADIO_TECHNOLOGY_EVDO 7 无线接入技术EVDO(Evolution、Data Only)。
RADIO_TECHNOLOGY_EHRPD 8 无线接入技术EHRPD(Evolved High Rate Package Data)。
RADIO_TECHNOLOGY_LTE 9 无线接入技术LTE(Long Term Evolution)。
RADIO_TECHNOLOGY_LTE_CA 10 无线接入技术LTE_CA(Long Term Evolution_Carrier Aggregation)。
RADIO_TECHNOLOGY_IWLAN 11 无线接入技术IWLAN(Industrial Wireless LAN)。
RADIO_TECHNOLOGY_NR 12 无线接入技术NR(New Radio)。

SignalInformation

网络信号强度信息对象。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

参数名 类型 说明
signalType NetworkType 网络信号强度类型。
signalLevel number 网络信号强度等级。

NetworkType

网络类型。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称 说明
NETWORK_TYPE_UNKNOWN 0 未知网络类型。
NETWORK_TYPE_GSM 1 网络类型为GSM(Global System For Mobile Communication)。
NETWORK_TYPE_CDMA 2 网络类型为CDMA(Code Division Multiple Access)。
NETWORK_TYPE_WCDMA 3 网络类型为WCDMA(Wideband Code Division Multiple Access)。
NETWORK_TYPE_TDSCDMA 4 网络类型为TDSCDMA(TimeDivision-Synchronous Code Division Multiple Access)。
NETWORK_TYPE_LTE 5 网络类型为LTE(Long Term Evolution)。
NETWORK_TYPE_NR 6 网络类型为5G NR(New Radio)。

NetworkState

网络注册状态。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称 类型 说明
longOperatorName string 注册网络的长运营商名称。
shortOperatorName string 注册网络的短运营商名称。
plmnNumeric string 注册网络的PLMN码。
isRoaming boolean 是否处于漫游状态。
regState RegState 设备的网络注册状态。
cfgTech8+ RadioTechnology 设备的无线接入技术。
nsaState NsaState 设备的NSA网络注册状态。
isCaActive boolean CA的状态。
isEmergency boolean 此设备是否只允许拨打紧急呼叫。

RegState

网络注册状态。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称 说明
REG_STATE_NO_SERVICE 0 设备不能使用任何服务。
REG_STATE_IN_SERVICE 1 设备可以正常使用业务。
REG_STATE_EMERGENCY_CALL_ONLY 2 设备只能使用紧急呼叫业务。
REG_STATE_POWER_OFF 3 蜂窝无线电已关闭。

NsaState

非独立组网状态。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称 说明
NSA_STATE_NOT_SUPPORT 1 设备在不支持NSA的LTE小区下处于空闲状态或连接状态。
NSA_STATE_NO_DETECT 2 在支持NSA但不支持NR覆盖检测的LTE小区下,设备处于空闲状态。
NSA_STATE_CONNECTED_DETECT 3 设备在LTE小区下连接到LTE网络支持NSA和NR覆盖检测。
NSA_STATE_IDLE_DETECT 4 支持NSA和NR覆盖检测的LTE小区下设备处于空闲状态。
NSA_STATE_DUAL_CONNECTED 5 设备在支持NSA的LTE小区下连接到LTE + NR网络。
NSA_STATE_SA_ATTACHED 6 设备在5GC附着时在NG-RAN小区下空闲或连接到NG-RAN小区。

NetworkSelectionMode

选网模式。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。

名称 说明
NETWORK_SELECTION_UNKNOWN 0 未知选网模式。
NETWORK_SELECTION_AUTOMATIC 1 自动选网模式。
NETWORK_SELECTION_MANUAL 2 手动选网模式。
相关推荐
The Straggling Crow6 小时前
Network
网络
yyuuuzz7 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
Oll Correct9 小时前
实验二十九:TCP的运输连接管理
网络·笔记
花椒技术10 小时前
复杂直播业务做 RN 跨端,我们最后保留了哪些 Native 边界
react native·react.js·harmonyos
洛宇11 小时前
一个口语 skill,灵感居然来自2021年的那个夏天
人工智能·程序员·github
Cheng小攸11 小时前
综合实验2
网络·windows
Soari12 小时前
SSH 主机密钥冲突
运维·网络·ssh
Hilaku12 小时前
多标签页并发请求导致 Token 刷新失败?只有 15行代码就能解决 !
前端·javascript·程序员
不羁的木木12 小时前
《HarmonyOS技术精讲》四:驱动开发入门 ── 标准外设与非标USB串口
驱动开发·华为·harmonyos
不羁的木木13 小时前
《HarmonyOS底部页签-沉浸光感组件实战》高级定制:图标出血与分割线
华为·harmonyos