HarmonyOS API:@ohos.telephony.radio (网络搜索)

joytrian
发布于 2023-4-6 17:27
浏览
0收藏

版本:v3.1 Beta

@ohos.telephony.radio (网络搜索)

更新时间: 2023-02-17 09:19


网络搜索模块提供管理网络搜索的一些基础功能,包括获取当前接入的CS域和PS域无线接入技术、获取网络状态、获取当前选网模式、获取注册网络所在国家的ISO国家码、获取主卡所在卡槽的索引号、获取指定SIM卡槽对应的注册网络信号强度信息列表、获取运营商名称、获取设备的指定卡槽的IMEI、获取设备的指定卡槽的MEID、获取设备的指定卡槽的唯一设备ID,判断当前设备是否支持5G(NR)、判断主卡的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 failed, err->${JSON.stringify(err)}`);
});

radio.getNetworkState

getNetworkState(callback: AsyncCallback<NetworkState>): 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<NetworkState>): 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<NetworkState>

获取网络状态。使用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 failed, promise: err->${JSON.stringify(err)}`);
});

radio.getNetworkSelectionMode

getNetworkSelectionMode(slotId: number, callback: AsyncCallback<NetworkSelectionMode>): 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<NetworkSelectionMode>

获取当前选网模式。使用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 failed, promise: err->${JSON.stringify(err)}`);
});

radio.getISOCountryCodeForNetwork7+

getISOCountryCodeForNetwork(slotId: number, callback: AsyncCallback<string>): void

获取注册网络所在国家的ISO国家码。使用callback异步回调。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

slotId

number

卡槽ID。

- 0:卡槽1

- 1:卡槽2

callback

AsyncCallback<string>

回调函数。返回国家码,例如: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<string>

获取注册网络所在国家的ISO国家码。使用Promise异步回调。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

slotId

number

卡槽ID。

- 0:卡槽1

- 1:卡槽2

返回值:

类型

说明

Promise<string>

以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 failed, promise: err->${JSON.stringify(err)}`);
});

radio.getPrimarySlotId7+

getPrimarySlotId(callback: AsyncCallback<number>): void

获取主卡所在卡槽的索引号。使用callback异步回调。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

callback

AsyncCallback<number>

回调函数

示例:

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

radio.getPrimarySlotId7+

getPrimarySlotId(): Promise<number>

获取主卡所在卡槽的索引号。使用Promise异步回调。

系统能力:SystemCapability.Telephony.CoreService

返回值:

类型

说明

Promise<number>

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

示例:

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

radio.getSignalInformation7+

getSignalInformation(slotId: number, callback: AsyncCallback<Array<SignalInformation>>): 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<SignalInformation>>

获取指定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 failed, promise: err->${JSON.stringify(err)}`);
});

radio.isNrSupported7+

isNrSupported(): boolean

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

系统能力:SystemCapability.Telephony.CoreService

返回值:

类型

说明

boolean

- true:支持

- false:不支持

示例:

let result = radio.isNrSupported();
console.log("Result: "+ result);

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<boolean>): void

判断主卡的Radio是否打开。使用callback异步回调。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

callback

AsyncCallback<boolean>

回调函数。

- 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<boolean>): void

判断指定卡槽位的Radio是否打开。使用callback异步回调。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

slotId

number

卡槽ID。

- 0:卡槽1

- 1:卡槽2

callback

AsyncCallback<boolean>

回调函数。

- 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<boolean>

判断Radio是否打开。使用Promise异步回调。

需要权限:ohos.permission.GET_NETWORK_INFO

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

slotId

number

卡槽ID。

- 0:卡槽1

- 1:卡槽2

如果不指定slotId,默认判断主卡Radio是否打开

返回值:

类型

说明

Promise<boolean>

以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 failed, promise: err->${JSON.stringify(err)}`);
});

radio.getOperatorName7+

getOperatorName(slotId: number, callback: AsyncCallback<string>): void

获取运营商名称。使用callback异步回调。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

slotId

number

卡槽ID。

- 0:卡槽1

- 1:卡槽2

callback

AsyncCallback<string>

回调函数,返回运营商名称,例如:中国移动。

示例:

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<string>

获取运营商名称。使用Promise异步回调。

系统能力:SystemCapability.Telephony.CoreService

参数:

参数名

类型

必填

说明

slotId

number

卡槽ID。

- 0:卡槽1

- 1:卡槽2

返回值:

类型

说明

Promise<string>

以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 failed, 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

蜂窝无线电已关闭,modem下电,无法和网侧进行通信。

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

手动选网模式。


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-radio-0000001427902696-V3?catalogVersion=V3#ZH-CN_TOPIC_0000001427902696__导入模块​

已于2023-4-6 17:27:55修改
收藏
回复
举报
回复
    相关推荐