未验证 提交 30a1a17a 编写于 作者: Z zengyawen 提交者: Gitee

update zh-cn/application-dev/reference/apis/js-apis-radio.md.

Signed-off-by: Nzengyawen <zengyawen1@huawei.com>
上级 578d8035
# @ohos.telephony.observer (observer) # @ohos.telephony.radio (网络搜索)
本模块提供订阅管理功能,可以订阅/取消订阅的事件包括:网络状态变化、信号状态变化、通话状态变化、蜂窝数据链路连接状态、蜂窝数据业务的上下行数据流状态、SIM状态变化 网络搜索模块提供管理网络搜索的一些基础功能,包括获取当前接入的CS域和PS域无线接入技术、获取网络状态、获取当前选网模式、获取注册网络所在国家的ISO国家码、获取主卡所在卡槽的索引号、获取指定SIM卡槽对应的注册网络信号强度信息列表、获取运营商名称、获取设备的指定卡槽的IMEI、获取设备的指定卡槽的MEID、获取设备的指定卡槽的唯一设备ID,判断当前设备是否支持5G\(NR\)、判断主卡的Radio是否打开等
>**说明:** >**说明:**
> >
...@@ -10,25 +10,25 @@ ...@@ -10,25 +10,25 @@
## 导入模块 ## 导入模块
``` ```
import observer from '@ohos.telephony.observer'; import radio from '@ohos.telephony.radio';
``` ```
## observer.on('networkStateChange') ## radio.getRadioTech
on\(type: \'networkStateChange\', callback: Callback<NetworkState\>\): void; getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\>\): void
订阅网络状态变化事件,使用callback方式作为异步方法 获取当前接入的CS域和PS域无线接入技术。使用callback异步回调
**需要权限**:ohos.permission.GET_NETWORK_INFO **需要权限**:ohos.permission.GET_NETWORK_INFO
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| type | string | 是 | 网络状态变化事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 是 | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) | | callback | AsyncCallback\<{psRadioTech: [RadioTechnology](#radiotechnology), csRadioTech:[RadioTechnology](#radiotechnology)}\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
...@@ -45,29 +45,1705 @@ on\(type: \'networkStateChange\', callback: Callback<NetworkState\>\): void; ...@@ -45,29 +45,1705 @@ on\(type: \'networkStateChange\', callback: Callback<NetworkState\>\): void;
**示例:** **示例:**
```js ```js
observer.on('networkStateChange', data => { let slotId = 0;
console.log("on networkStateChange, data:" + JSON.stringify(data)); radio.getRadioTech(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## observer.on('networkStateChange') ## radio.getRadioTech
on\(type: \'networkStateChange\', options: { slotId: number }, callback: Callback<NetworkState\>\): void; getRadioTech\(slotId: number\): Promise<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\>
订阅指定卡槽位的网络状态变化事件,使用callback方式作为异步方法 获取当前接入的CS域和PS域无线接入技术。使用Promise异步回调
**需要权限**:ohos.permission.GET_NETWORK_INFO **需要权限**:ohos.permission.GET_NETWORK_INFO
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| type | string | 是 | 网络状态变化事件 |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 是 | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------- |
| Promise<{psRadioTech: [RadioTechnology](#radiotechnology), csRadioTech: [RadioTechnology](#radiotechnology)}> | 以Promise形式返回获取当前接入的CS域和PS域技术。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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](#networkstate)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<[NetworkState](#networkstate)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | --------------------------- |
| Promise\<[NetworkState](#networkstate)\> | 以Promise形式返回网络状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<[NetworkSelectionMode](#networkselectionmode)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| -------------------------------------------------------- | ------------------------------- |
| Promise\<[NetworkSelectionMode](#networkselectionmode)\> | 以Promise形式返回当前选网模式。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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.getISOCountryCodeForNetwork<sup>7+</sup>
getISOCountryCodeForNetwork\(slotId: number, callback: AsyncCallback<string\>\): void
获取注册网络所在国家的ISO国家码。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。返回国家码,例如:CN(中国)。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getISOCountryCodeForNetwork(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getISOCountryCodeForNetwork<sup>7+</sup>
getISOCountryCodeForNetwork\(slotId: number\): Promise<string\>
获取注册网络所在国家的ISO国家码。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回注册网络所在国家的ISO国家码,例如CN(中国)。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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.getPrimarySlotId<sup>7+</sup>
getPrimarySlotId\(callback: AsyncCallback\<number\>\): void
获取主卡所在卡槽的索引号。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback\<number\> | 是 | 回调函数 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.getPrimarySlotId((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getPrimarySlotId<sup>7+</sup>
getPrimarySlotId\(\): Promise\<number\>
获取主卡所在卡槽的索引号。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<number\> | 以Promise形式返回获取设备主卡所在卡槽的索引号的结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
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.getSignalInformation<sup>7+</sup>
getSignalInformation\(slotId: number, callback: AsyncCallback<Array<SignalInformation\>\>\): void
获取指定SIM卡槽对应的注册网络信号强度信息列表。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<Array\<[SignalInformation](#signalinformation)\>\> | 是 | 回调函数,返回[SignalInformation](#signalinformation)对象的数组。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getSignalInformation(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getSignalInformation<sup>7+</sup>
getSignalInformation\(slotId: number\): Promise<Array<SignalInformation\>\>
获取指定SIM卡槽对应的注册网络信号强度信息列表。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------------------- | ------------------------------------------------------------ |
| Promise\<Array\<[SignalInformation](#signalinformation)\>\> | 以Promise形式返回网络信号强度[SignalInformation](#signalinformation)对象的数组。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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.isNrSupported<sup>(deprecated)</sup>
isNrSupported\(\): boolean
判断当前设备是否支持5G\(NR\)
> **说明:**
>
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[isNRSupported](#radioisnrsupported9)替代。
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ------- | -------------------------------- |
| boolean | - true:支持<br/>- false:不支持 |
**示例:**
```js
let result = radio.isNrSupported();
console.log("Result: "+ result);
```
## radio.isNrSupported<sup>(deprecated)</sup>
isNrSupported\(slotId: number\): boolean
判断当前设备是否支持5G\(NR\)
> **说明:**
>
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[isNRSupported](#radioisnrsupported9-1)替代。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------ | ------------------------------------------------------------ |
| boolean | - true:支持<br/>- false:不支持 |
**示例:**
```js
let slotId = 0;
let result = radio.isNrSupported(slotId);
console.log("Result: "+ result);
```
## radio.isNRSupported<sup>9+</sup>
isNRSupported\(\): boolean
判断当前设备是否支持5G\(NR\)
**系统能力**:SystemCapability.Telephony.CoreService
**返回值:**
| 类型 | 说明 |
| ------- | -------------------------------- |
| boolean | - true:支持<br/>- false:不支持 |
**示例:**
```js
let result = radio.isNRSupported();
console.log("Result: "+ result);
```
## radio.isNRSupported<sup>9+</sup>
isNRSupported\(slotId: number\): boolean
判断当前设备是否支持5G\(NR\)
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------ | ------------------------------------------------------------ |
| boolean | - true:支持<br/>- false:不支持 |
**示例:**
```js
let slotId = 0;
let result = radio.isNRSupported(slotId);
console.log("Result: "+ result);
```
## radio.isRadioOn<sup>7+</sup>
isRadioOn\(callback: AsyncCallback<boolean\>\): void
判断主卡的Radio是否打开。使用callback异步回调。
**需要权限**:ohos.permission.GET_NETWORK_INFO
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------------------------------------- |
| callback | AsyncCallback\<boolean\> | 是 | 回调函数。<br/>- true:Radio打开<br/>- false:Radio关闭 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.isRadioOn((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.isRadioOn<sup>7+</sup>
isRadioOn\(slotId: number, callback: AsyncCallback<boolean\>\): void
判断指定卡槽位的Radio是否打开。使用callback异步回调。
**需要权限**:ohos.permission.GET_NETWORK_INFO
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<boolean\> | 是 | 回调函数。<br/>- true:Radio打开<br/>- false:Radio关闭 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.isRadioOn(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.isRadioOn<sup>7+</sup>
isRadioOn\(slotId?: number\): Promise<boolean\>
判断Radio是否打开。使用Promise异步回调。
**需要权限**:ohos.permission.GET_NETWORK_INFO
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2<br/>如果不指定slotId,默认判断主卡Radio是否打开 |
**返回值:**
| 类型 | 说明 |
| ------------------ | ------------------------------------------------------------ |
| Promise\<boolean\> | 以Promise形式返回判断Radio是否打开的结果。<br/>- true:Radio打开<br/>- false:Radio关闭 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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.getOperatorName<sup>7+</sup>
getOperatorName\(slotId: number, callback: AsyncCallback<string\>\): void
获取运营商名称。使用callback异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数,返回运营商名称,例如:中国移动。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getOperatorName(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getOperatorName<sup>7+</sup>
getOperatorName\(slotId: number\): Promise<string\>
获取运营商名称。使用Promise异步回调。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------------------------ |
| Promise\<string\> | 以Promise形式返回运营商名称,例如:中国移动。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
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)}`);
});
```
## radio.setPrimarySlotId<sup>8+</sup>
setPrimarySlotId(slotId: number, callback: AsyncCallback<void\>): void
设置主卡所在卡槽的索引号。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.setPrimarySlotId(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.setPrimarySlotId<sup>8+</sup>
setPrimarySlotId\(slotId: number\): Promise\<void\>
设置主卡所在卡槽的索引号。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------- | ------------------------------- |
| Promise\<void\> | 以Promise形式异步返回设置结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300004 | Do not have sim card. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.setPrimarySlotId(slotId);
promise.then(data => {
console.log(`setPrimarySlotId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setPrimarySlotId failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.getIMEI<sup>8+</sup>
getIMEI(callback: AsyncCallback<string\>): void
获取设备的指定卡槽的IMEI。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| callback | AsyncCallback\<string\> | 是 | 回调函数,如果IMEI不存在,则返回空字符串。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.getIMEI((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getIMEI<sup>8+</sup>
getIMEI(slotId: number, callback: AsyncCallback<string\>): void
获取设备的指定卡槽的IMEI。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------ |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数,如果IMEI不存在,则返回空字符串。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getIMEI(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getIMEI<sup>8+</sup>
getIMEI(slotId?: number): Promise<string\>
获取设备的指定卡槽的IMEI。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | ------------------------------------------ |
| Promise\<string\> | 以Promise形式异步返回IMEI;如果IMEI不存在,则返回空字符串。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.getIMEI(slotId);
promise.then(data => {
console.log(`getIMEI success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getIMEI failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.getMEID<sup>8+</sup>
getMEID(callback: AsyncCallback<string\>): void
获取设备的指定卡槽的MEID。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------- |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.getMEID((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getMEID<sup>8+</sup>
getMEID(slotId: number, callback: AsyncCallback<string\>): void
获取设备的指定卡槽的MEID。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getMEID(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getMEID<sup>8+</sup>
getMEID(slotId?: number): Promise<string\>
获取设备的指定卡槽的MEID。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------- |
| Promise\<string\> | 以Promise形式返回设备的指定卡槽的MEID。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.getMEID(slotId);
promise.then(data => {
console.log(`getMEID success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getMEID failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.getUniqueDeviceId<sup>8+</sup>
getUniqueDeviceId(callback: AsyncCallback<string\>): void
获取设备的指定卡槽的唯一设备ID。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ---------- |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.getUniqueDeviceId((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getUniqueDeviceId<sup>8+</sup>
getUniqueDeviceId(slotId: number, callback: AsyncCallback<string\>): void
获取设备的指定卡槽的唯一设备ID。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<string\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getUniqueDeviceId(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getUniqueDeviceId<sup>8+</sup>
getUniqueDeviceId(slotId?: number): Promise<string\>
获取设备的指定卡槽的唯一设备ID。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------------- |
| Promise\<string\> | 以Promise形式返回设备的指定卡槽的唯一设备ID。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.getUniqueDeviceId(slotId);
promise.then(data => {
console.log(`getUniqueDeviceId success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getUniqueDeviceId failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.sendUpdateCellLocationRequest<sup>8+</sup>
sendUpdateCellLocationRequest\(callback: AsyncCallback<void\>\): void
发送更新小区位置请求。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ---------- |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.sendUpdateCellLocationRequest((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.sendUpdateCellLocationRequest<sup>8+</sup>
sendUpdateCellLocationRequest\(slotId: number, callback: AsyncCallback<void\>\): void
发送更新小区位置请求。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ---------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.sendUpdateCellLocationRequest(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.sendUpdateCellLocationRequest<sup>8+</sup>
sendUpdateCellLocationRequest\(slotId?: number): Promise<void\>
发送更新小区位置请求。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| --------------- | ----------------------- |
| Promise\<void\> | 以Promise形式返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.sendUpdateCellLocationRequest(slotId);
promise.then(data => {
console.log(`sendUpdateCellLocationRequest success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`sendUpdateCellLocationRequest failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.getCellInformation<sup>8+</sup>
getCellInformation(callback: AsyncCallback<Array<CellInformation\>>): void
获取小区信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------ |
| callback | AsyncCallback\<Array<[CellInformation](#cellinformation8)\>\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.getCellInformation((err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getCellInformation<sup>8+</sup>
getCellInformation(slotId: number, callback: AsyncCallback<Array<CellInformation\>\>): void
获取小区信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<Array<[CellInformation](#cellinformation8)\>\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
radio.getCellInformation(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getCellInformation<sup>8+</sup>
getCellInformation(slotId?: number): Promise<Array<CellInformation\>\>
获取小区信息。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------- | ----------------------- |
| Promise\<Array<[CellInformation](#cellinformation8)\>\> | 以Promise形式返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.getCellInformation(slotId);
promise.then(data => {
console.log(`getCellInformation success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getCellInformation failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.setNetworkSelectionMode
setNetworkSelectionMode\(options: NetworkSelectionModeOptions, callback: AsyncCallback<void\>\): void
设置网络选择模式。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------------- | ---- | ------------------ |
| options | [NetworkSelectionModeOptions](#networkselectionmodeoptions) | 是 | 网络选择模式选项。 |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let networkInformation={
operatorName: "中国移动",
operatorNumeric: "898600",
state: radio.NetworkInformationState.NETWORK_AVAILABLE,
radioTech: "CS"
}
let networkSelectionModeOptions={
slotId: 0,
selectMode: radio.NetworkSelectionMode.NETWORK_SELECTION_AUTOMATIC,
networkInformation: networkInformation,
resumeSelection: true
}
radio.setNetworkSelectionMode(networkSelectionModeOptions, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.setNetworkSelectionMode
setNetworkSelectionMode\(options: NetworkSelectionModeOptions\): Promise<void\>
设置网络选择模式。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------------------------------------------------- | ---- | ------------------ |
| options | [NetworkSelectionModeOptions](#networkselectionmodeoptions) | 是 | 网络选择模式选项。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ----------------------- |
| Promise\<void\> | 以Promise形式返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let networkInformation={
operatorName: "中国移动",
operatorNumeric: "898600",
state: radio.NetworkInformationState.NETWORK_AVAILABLE,
radioTech: "CS"
}
let networkSelectionModeOptions={
slotId: 0,
selectMode: radio.NetworkSelectionMode.NETWORK_SELECTION_AUTOMATIC,
networkInformation: networkInformation,
resumeSelection: true
}
let promise = radio.setNetworkSelectionMode(networkSelectionModeOptions);
promise.then(data => {
console.log(`setNetworkSelectionMode success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`setNetworkSelectionMode failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.getNetworkSearchInformation
getNetworkSearchInformation\(slotId: number, callback: AsyncCallback<NetworkSearchResult\>\): void
获取网络搜索信息。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | AsyncCallback\<[NetworkSearchResult](#networksearchresult)\> | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
radio.getNetworkSearchInformation(0, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
});
```
## radio.getNetworkSearchInformation
getNetworkSearchInformation\(slotId: number\): Promise<NetworkSearchResult\>
获取网络搜索信息。使用Promise异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------ | ----------------------- |
| Promise\<[NetworkSearchResult](#networksearchresult)\> | 以Promise形式返回结果。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
...@@ -84,32 +1760,34 @@ on\(type: \'networkStateChange\', options: { slotId: number }, callback: Callbac ...@@ -84,32 +1760,34 @@ on\(type: \'networkStateChange\', options: { slotId: number }, callback: Callbac
**示例:** **示例:**
```js ```js
observer.on('networkStateChange', {slotId: 0}, data => { let promise = radio.getNetworkSearchInformation(0);
console.log("on networkStateChange, data:" + JSON.stringify(data)); promise.then(data => {
console.log(`getNetworkSearchInformation success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getNetworkSearchInformation failed, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.getNrOptionMode<sup>8+</sup>
## observer.off('networkStateChange') getNrOptionMode(callback: AsyncCallback<NrOptionMode\>): void
off\(type: \'networkStateChange\', callback?: Callback<NetworkState\>\): void; 获取Nr选项模式 。使用callback异步回调。
取消订阅网络状态变化事件,使用callback方式作为异步方法。 **系统接口:** 此接口为系统接口。
>**说明:**
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | | -------- | ----------------------------------------------- | ---- | ---------- |
| type | string | 是 | 网络状态变化事件 | | callback | AsyncCallback\<[NrOptionMode](#nroptionmode8)\> | 是 | 回调函数。 |
| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 否 | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) |
| 错误码ID | 错误信息 | **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
...@@ -120,36 +1798,34 @@ off\(type: \'networkStateChange\', callback?: Callback<NetworkState\>\): void; ...@@ -120,36 +1798,34 @@ off\(type: \'networkStateChange\', callback?: Callback<NetworkState\>\): void;
**示例:** **示例:**
```js ```js
let callback = data => { radio.getNrOptionMode((err, data) => {
console.log("on networkStateChange, data:" + JSON.stringify(data)); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
} });
observer.on('networkStateChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('networkStateChange', callback);
observer.off('networkStateChange');
``` ```
## observer.on('signalInfoChange')
on\(type: \'signalInfoChange\', callback: Callback<Array<SignalInformation\>\>): void; ## radio.getNrOptionMode<sup>8+</sup>
订阅信号状态变化事件,使用callback方式作为异步方法。 getNrOptionMode(slotId: number, callback: AsyncCallback<NrOptionMode\>): void
**系统能力**:SystemCapability.Telephony.StateRegistry 获取Nr选项模式 。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | ----------------------------------------------- | ---- | -------------------------------------- |
| type | string | 是 | 信号状态变化事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback<Array<[SignalInformation](js-apis-radio.md#signalinformation)\>\> | 是 | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) | | callback | AsyncCallback\<[NrOptionMode](#nroptionmode8)\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -159,27 +1835,75 @@ on\(type: \'signalInfoChange\', callback: Callback<Array<SignalInformation\>\>): ...@@ -159,27 +1835,75 @@ on\(type: \'signalInfoChange\', callback: Callback<Array<SignalInformation\>\>):
**示例:** **示例:**
```js ```js
observer.on('signalInfoChange', data => { let slotId = 0;
console.log("on signalInfoChange, data:" + JSON.stringify(data)); radio.getNrOptionMode(slotId, (err, data) => {
console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## observer.on('signalInfoChange') ## radio.getNrOptionMode<sup>8+</sup>
getNrOptionMode(slotId?: number): Promise<NrOptionMode\>
on\(type: \'signalInfoChange\', options: { slotId: number }, callback: Callback<Array<SignalInformation\>\>): void; 获取Nr选项模式 。使用Promise异步回调。
订阅指定卡槽位的信号状态变化事件,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- | | ------ | ------ | ---- | -------------------------------------- |
| type | string | 是 | 信号状态变化事件 | | slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback<Array<[SignalInformation](js-apis-radio.md#signalinformation)\>\> | 是 | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) | **返回值:**
| 类型 | 说明 |
| ----------------------------------------- | ----------------------- |
| Promise\<[NrOptionMode](#nroptionmode8)\> | 以Promise形式返回结果。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 |
| -------- | -------------------------------------------- |
| 401 | Parameter error. |
| 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. |
| 8300003 | System internal error. |
| 8300999 | Unknown error code. |
**示例:**
```js
let slotId = 0;
let promise = radio.getNrOptionMode(slotId);
promise.then(data => {
console.log(`getNrOptionMode success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`getNrOptionMode failed, promise: err->${JSON.stringify(err)}`);
});
```
## radio.turnOnRadio<sup>7+</sup>
turnOnRadio(callback: AsyncCallback<void\>): void
打开Radio。使用callback异步回调。
**系统接口:** 此接口为系统接口。
**需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ---------- |
| callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
...@@ -196,36 +1920,37 @@ on\(type: \'signalInfoChange\', options: { slotId: number }, callback: Callback< ...@@ -196,36 +1920,37 @@ on\(type: \'signalInfoChange\', options: { slotId: number }, callback: Callback<
**示例:** **示例:**
```js ```js
observer.on('signalInfoChange', {slotId: 0}, data => { radio.turnOnRadio((err, data) => {
console.log("on signalInfoChange, data:" + JSON.stringify(data)); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## observer.off('signalInfoChange') ## radio.turnOnRadio<sup>7+</sup>
off\(type: \'signalInfoChange\', callback?: Callback<Array<SignalInformation\>\>): void; turnOnRadio(slotId: number, callback: AsyncCallback<void\>): void
取消订阅信号状态变化事件,使用callback方式作为异步方法 打开Radio。使用callback异步回调
>**说明:** **系统接口:** 此接口为系统接口。
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | --------------------- | ---- | -------------------------------------- |
| type | string | 是 | 信号状态变化事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback<Array<[SignalInformation](js-apis-radio.md#signalinformation)\>\> | 否 | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -235,36 +1960,43 @@ off\(type: \'signalInfoChange\', callback?: Callback<Array<SignalInformation\>\> ...@@ -235,36 +1960,43 @@ off\(type: \'signalInfoChange\', callback?: Callback<Array<SignalInformation\>\>
**示例:** **示例:**
```js ```js
let callback = data => { let slotId = 0;
console.log("on signalInfoChange, data:" + JSON.stringify(data)); radio.turnOnRadio(slotId, (err, data) => {
} console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
observer.on('signalInfoChange', callback); });
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('signalInfoChange', callback);
observer.off('signalInfoChange');
``` ```
## observer.on('callStateChange') ## radio.turnOnRadio<sup>7+</sup>
turnOnRadio(slotId?: number): Promise<void\>
on(type: 'callStateChange', callback: Callback\<{ state: CallState, number: string }\>): void; 打开Radio。使用Promise异步回调。
订阅通话状态变化事件,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | ------ | ------ | ---- | -------------------------------------- |
| type | string | 是 | 通话状态变化事件 | | slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 是 | 回调函数,参考call的[CallState](js-apis-call.md#callstate)<br />number:电话号码 |
**返回值:**
| 类型 | 说明 |
| --------------- | ----------------------- |
| Promise\<void\> | 以Promise形式返回结果。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -274,33 +2006,39 @@ on(type: 'callStateChange', callback: Callback\<{ state: CallState, number: stri ...@@ -274,33 +2006,39 @@ on(type: 'callStateChange', callback: Callback\<{ state: CallState, number: stri
**示例:** **示例:**
```js ```js
observer.on('callStateChange', value => { let slotId = 0;
console.log("on callStateChange, state:" + value.state + ", number:" + value.number); let promise = radio.turnOnRadio(slotId);
promise.then(data => {
console.log(`turnOnRadio success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`turnOnRadio failed, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.turnOffRadio<sup>7+</sup>
## observer.on('callStateChange') turnOffRadio(callback: AsyncCallback<void\>): void
on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ state:CallState, number: string }>): void; 关闭Radio。使用callback异步回调。
订阅通话状态变化事件,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | --------------------- | ---- | ---------- |
| type | string | 是 | 通话状态变化事件 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 是 | 回调函数,参考call的[CallState](js-apis-call.md#callstate)<br />number:电话号码 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -310,36 +2048,37 @@ on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ st ...@@ -310,36 +2048,37 @@ on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ st
**示例:** **示例:**
```js ```js
observer.on('callStateChange', {slotId: 0}, value => { radio.turnOffRadio((err, data) => {
console.log("on callStateChange, state:" + value.state + ", number:" + value.number); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## observer.off('callStateChange') ## radio.turnOffRadio<sup>7+</sup>
off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: string }>): void; turnOffRadio(slotId: number, callback: AsyncCallback<void\>): void
取消订阅通话状态变化事件,使用callback方式作为异步方法 关闭Radio。使用callback异步回调
>**说明:** **系统接口:** 此接口为系统接口。
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 **需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | --------------------- | ---- | -------------------------------------- |
| type | string | 是 | 通话状态变化事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 否 | 回调函数,参考call的[CallState](js-apis-call.md#callstate)<br />number:电话号码 | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -349,36 +2088,43 @@ off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: str ...@@ -349,36 +2088,43 @@ off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: str
**示例:** **示例:**
```js ```js
let callback = value => { let slotId = 0;
console.log("on callStateChange, state:" + value.state + ", number:" + value.number); radio.turnOffRadio(slotId, (err, data) => {
} console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
observer.on('callStateChange', callback); });
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('callStateChange', callback);
observer.off('callStateChange');
``` ```
## observer.on('cellularDataConnectionStateChange')<sup>7+</sup> ## radio.turnOffRadio<sup>7+</sup>
turnOffRadio(slotId?: number): Promise<void\>
on\(type: 'cellularDataConnectionStateChange', callback: Callback\<{ state: DataConnectState, network: RatType}\>\): void; 关闭Radio。使用Promise异步回调。
订阅蜂窝数据链路连接状态,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | ------ | ------ | ---- | -------------------------------------- |
| type | string | 是 | 蜂窝数据链路连接状态事件 | | slotId | number | 否 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<{ state: [DataConnectState](js-apis-telephony-data.md#dataconnectstate), network: [RatType](js-apis-radio.md#radiotechnology) }\> | 是 | 回调函数,参考data的[DataConnectState](js-apis-telephony-data.md#dataconnectstate),radio的[RadioTechnology](js-apis-radio.md#radiotechnology)。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ----------------------- |
| Promise\<void\> | 以Promise形式返回结果。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -388,33 +2134,41 @@ on\(type: 'cellularDataConnectionStateChange', callback: Callback\<{ state: Data ...@@ -388,33 +2134,41 @@ on\(type: 'cellularDataConnectionStateChange', callback: Callback\<{ state: Data
**示例:** **示例:**
```js ```js
observer.on('cellularDataConnectionStateChange', value => { let slotId = 0;
console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); let promise = radio.turnOffRadio(slotId);
promise.then(data => {
console.log(`turnOffRadio success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.error(`turnOffRadio failed, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.setPreferredNetwork<sup>8+</sup>
## observer.on('cellularDataConnectionStateChange')<sup>7+</sup> setPreferredNetwork\(slotId: number, networkMode: PreferredNetworkMode, callback: AsyncCallback<void\>\): void
on\(type: 'cellularDataConnectionStateChange', options: { slotId: number }, callback: Callback\<{ state: DataConnectState, network: RatType }\>\): void; 设置首选网络。使用callback异步回调。
订阅指定卡槽位的蜂窝数据链路连接状态,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **需要权限**:ohos.permission.SET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | ----------- | ---------------------------------------------- | ---- | -------------------------------------- |
| type | string | 是 | 蜂窝数据链路连接状态事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | networkMode | [PreferredNetworkMode](#preferrednetworkmode8) | 是 | 设置首选网络模式。 |
| callback | Callback\<{ state: [DataConnectState](js-apis-telephony-data.md#dataconnectstate), network: [RatType](js-apis-radio.md#radiotechnology) }\> | 是 | 回调函数,参考data的[DataConnectState](js-apis-telephony-data.md#dataconnectstate),radio的[RadioTechnology](js-apis-radio.md#radiotechnology) | | callback | AsyncCallback\<void\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -424,36 +2178,42 @@ on\(type: 'cellularDataConnectionStateChange', options: { slotId: number }, call ...@@ -424,36 +2178,42 @@ on\(type: 'cellularDataConnectionStateChange', options: { slotId: number }, call
**示例:** **示例:**
```js ```js
observer.on('cellularDataConnectionStateChange', {slotId: 0}, value => { radio.setPreferredNetwork(0, 1, (err, data) => {
console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.setPreferredNetwork<sup>8+</sup>
## observer.off('cellularDataConnectionStateChange')<sup>7+</sup> setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode): Promise<void\>
off\(type: 'cellularDataConnectionStateChange', callback?: Callback\<{ state: DataConnectState, network: RatType}\>\): void; 设置首选网络。使用Promise异步回调。
移除订阅蜂窝数据链路连接状态,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
>**说明:** **需要权限**:ohos.permission.SET_TELEPHONY_STATE
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | ----------- | ---------------------------------------------- | ---- | -------------------------------------- |
| type | string | 是 | 蜂窝数据链路连接状态事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<{ state: [DataConnectState](js-apis-telephony-data.md#dataconnectstate), network: [RatType](js-apis-radio.md#radiotechnology) }\> | 否 | 回调函数,参考data的[DataConnectState](js-apis-telephony-data.md#dataconnectstate),radio的[RadioTechnology](js-apis-radio.md#radiotechnology)。 | | networkMode | [PreferredNetworkMode](#preferrednetworkmode8) | 是 | 设置首选网络模式。 |
**返回值:**
| 类型 | 说明 |
| --------------- | ----------------------- |
| Promise\<void\> | 以Promise形式返回结果。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -463,36 +2223,39 @@ off\(type: 'cellularDataConnectionStateChange', callback?: Callback\<{ state: D ...@@ -463,36 +2223,39 @@ off\(type: 'cellularDataConnectionStateChange', callback?: Callback\<{ state: D
**示例:** **示例:**
```js ```js
let callback = value => { let promise = radio.setPreferredNetwork(0, 1);
console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); promise.then(data => {
} console.log(`setPreferredNetwork success, promise: data->${JSON.stringify(data)}`);
observer.on('cellularDataConnectionStateChange', callback); }).catch(err => {
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 console.log(`setPreferredNetwork failed, promise: err->${JSON.stringify(err)}`);
observer.off('cellularDataConnectionStateChange', callback); });
observer.off('cellularDataConnectionStateChange');
``` ```
## radio.getPreferredNetwork<sup>8+</sup>
## observer.on('cellularDataFlowChange')<sup>7+</sup> getPreferredNetwork\(slotId: number, callback: AsyncCallback<PreferredNetworkMode\>\): void
on\(type: 'cellularDataFlowChange', callback: Callback\<DataFlowType\>\): void; 获取首选网络。使用callback异步回调。
订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | --------------------------------------------------------------- | ---- | -------------------------------------- |
| type | string | 是 | 蜂窝数据业务的上下行数据流状态状态事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 是 | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype) | | callback | AsyncCallback\<[PreferredNetworkMode](#preferrednetworkmode8)\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -502,33 +2265,41 @@ on\(type: 'cellularDataFlowChange', callback: Callback\<DataFlowType\>\): void; ...@@ -502,33 +2265,41 @@ on\(type: 'cellularDataFlowChange', callback: Callback\<DataFlowType\>\): void;
**示例:** **示例:**
```js ```js
observer.on('cellularDataFlowChange', data => { radio.getPreferredNetwork(0, (err, data) => {
console.log("on networkStateChange, data:" + JSON.stringify(data)); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.getPreferredNetwork<sup>8+</sup>
## observer.on('cellularDataFlowChange')<sup>7+</sup> getPreferredNetwork(slotId: number): Promise<PreferredNetworkMode\>
on\(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Callback\<DataFlowType\>\): void; 获取首选网络。使用Promise异步回调。
订阅指定卡槽位的蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
**系统能力**:SystemCapability.Telephony.StateRegistry **需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | ------ | ------ | ---- | -------------------------------------- |
| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 是 | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 | **返回值:**
| 类型 | 说明 |
| --------------- | ----------------------- |
| Promise\<void\> | 以Promise形式返回结果。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -538,36 +2309,40 @@ on\(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Call ...@@ -538,36 +2309,40 @@ on\(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Call
**示例:** **示例:**
```js ```js
observer.on('cellularDataFlowChange', {slotId: 0}, data => { let promise = radio.getPreferredNetwork(0);
console.log("on cellularDataFlowChange, data:" + JSON.stringify(data)); promise.then(data => {
console.log(`getPreferredNetwork success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getPreferredNetwork failed, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.getImsRegInfo<sup>9+</sup>
## observer.off('cellularDataFlowChange')<sup>7+</sup> getImsRegInfo(slotId: number, imsType: ImsServiceType, callback: AsyncCallback<ImsRegInfo\>): void
off\(type: 'cellularDataFlowChange', callback?: Callback\<DataFlowType\>\): void; 获取特定IMS服务类型的IMS注册状态信息。使用callback异步回调。
移除订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
>**说明:** **需要权限**:ohos.permission.GET_TELEPHONY_STATE
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | ------------------------------------------ | ---- | -------------------------------------- |
| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 否 | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 | | imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 |
| callback | AsyncCallback<[ImsRegInfo](#imsreginfo9)\> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -577,36 +2352,42 @@ off\(type: 'cellularDataFlowChange', callback?: Callback\<DataFlowType\>\): void ...@@ -577,36 +2352,42 @@ off\(type: 'cellularDataFlowChange', callback?: Callback\<DataFlowType\>\): void
**示例:** **示例:**
```js ```js
let callback = data => { radio.getImsRegInfo(0, radio.ImsServiceType.TYPE_VIDEO, (err, data) => {
console.log("on cellularDataFlowChange, data:" + JSON.stringify(data)); console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
} });
observer.on('cellularDataFlowChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('cellularDataFlowChange', callback);
observer.off('cellularDataFlowChange');
``` ```
## radio.getImsRegInfo<sup>9+</sup>
getImsRegInfo(slotId: number, imsType: ImsServiceType): Promise<ImsRegInfo\>
## observer.on('simStateChange')<sup>7+</sup> 获取特定IMS服务类型的IMS注册状态信息。使用Promise异步回调。
on\(type: 'simStateChange', callback: Callback\<SimStateData\>\): void; **系统接口:** 此接口为系统接口。
订阅sim状态更改事件,使用callback方式作为异步方法。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | ------- | ---------------------------------- | ---- | -------------------------------------- |
| type | string | 是 | sim状态更改事件 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[SimStateData](#simstatedata7)\> | 是 | 回调函数。 | | imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------- | ----------------------- |
| Promise\<[ImsRegInfo](#imsreginfo9)\> | 以Promise形式返回结果。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -616,33 +2397,41 @@ on\(type: 'simStateChange', callback: Callback\<SimStateData\>\): void; ...@@ -616,33 +2397,41 @@ on\(type: 'simStateChange', callback: Callback\<SimStateData\>\): void;
**示例:** **示例:**
```js ```js
observer.on('simStateChange', data => { let promise = radio.getImsRegInfo(0, radio.ImsServiceType.TYPE_VIDEO);
console.log("on simStateChange, data:" + JSON.stringify(data)); promise.then(data => {
console.log(`getImsRegInfo success, promise: data->${JSON.stringify(data)}`);
}).catch(err => {
console.log(`getImsRegInfo failed, promise: err->${JSON.stringify(err)}`);
}); });
``` ```
## radio.on('imsRegStateChange')<sup>9+</sup>
on(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: Callback<ImsRegInfo\>): void
## observer.on('simStateChange')<sup>7+</sup> 订阅imsRegStateChange事件,使用callback异步回调。
on\(type: 'simStateChange', options: { slotId: number }, callback: Callback\<SimStateData\>\): void; **系统接口:** 此接口为系统接口。
订阅指定卡槽位的sim状态更改事件,使用callback方式作为异步方法。 **需要权限**:ohos.permission.GET_TELEPHONY_STATE
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | ------------------------------------ | ---- | -------------------------------------- |
| type | string | 是 | sim状态更改事件 | | type | string | 是 | 监听IMS注册状态的变化。 |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| callback | Callback\<[SimStateData](#simstatedata7)\> | 是 | 回调函数。 | | imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 |
| callback | Callback<[ImsRegInfo](#imsreginfo9)> | 是 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -652,36 +2441,38 @@ on\(type: 'simStateChange', options: { slotId: number }, callback: Callback\<Sim ...@@ -652,36 +2441,38 @@ on\(type: 'simStateChange', options: { slotId: number }, callback: Callback\<Sim
**示例:** **示例:**
```js ```js
observer.on('simStateChange', {slotId: 0}, data => { radio.on('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => {
console.log("on simStateChange, data:" + JSON.stringify(data)); console.log(`callback: data->${JSON.stringify(data)}`);
}); });
``` ```
## radio.off('imsRegStateChange')<sup>9+</sup>
## observer.off('simStateChange')<sup>7+</sup> off(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback?: Callback<ImsRegInfo\>): void
off\(type: 'simStateChange', callback?: Callback\<SimStateData\>\): void; 取消订阅imsRegStateChange事件,使用callback异步回调。
移除订阅sim状态更改事件,使用callback方式作为异步方法 **系统接口:** 此接口为系统接口
>**说明:** **需要权限**:ohos.permission.GET_TELEPHONY_STATE
>
>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
**系统能力**:SystemCapability.Telephony.StateRegistry **系统能力**:SystemCapability.Telephony.CoreService
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | -------- | ------------------------------------ | ---- | -------------------------------------- |
| type | string | 是 | sim状态更改事件 | | type | string | 是 | 通话结束时取消监听通话详情的变化。 |
| callback | Callback\<[SimStateData](#simstatedata7)\> | 否 | 回调函数。 | | slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 |
| callback | Callback<[ImsRegInfo](#imsreginfo9)> | 否 | 回调函数。 |
**错误码:** **错误码:**
以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。
| 错误码ID | 错误信息 | | 错误码ID | 错误信息 |
| -------- | -------------------------------------------- | | -------- | -------------------------------------------- |
| 201 | Permission denied. |
| 401 | Parameter error. | | 401 | Parameter error. |
| 8300001 | Invalid parameter value. | | 8300001 | Invalid parameter value. |
| 8300002 | Operation failed. Cannot connect to service. | | 8300002 | Operation failed. Cannot connect to service. |
...@@ -691,48 +2482,412 @@ off\(type: 'simStateChange', callback?: Callback\<SimStateData\>\): void; ...@@ -691,48 +2482,412 @@ off\(type: 'simStateChange', callback?: Callback\<SimStateData\>\): void;
**示例:** **示例:**
```js ```js
let callback = data => { radio.off('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => {
console.log("on simStateChange, data:" + JSON.stringify(data)); console.log(`callback: data->${JSON.stringify(data)}`);
} });
observer.on('simStateChange', callback);
// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
observer.off('simStateChange', callback);
observer.off('simStateChange');
``` ```
## 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](#networktype) | 是 | 网络信号强度类型。 |
| signalLevel | number | 是 | 网络信号强度等级。 |
| dBm<sup>9+</sup>| 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](#regstate) | 是 | 设备的网络注册状态。 |
| cfgTech<sup>8+</sup> | [RadioTechnology](#radiotechnology) | 是 | 设备的无线接入技术。 |
| nsaState | [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 | 手动选网模式。 |
## PreferredNetworkMode<sup>8+</sup>
首选网络模式。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| --------------------------------------------------------- | ---- | --------------------------------------------- |
| PREFERRED_NETWORK_MODE_GSM | 1 | 首选GSM网络模式。 |
| PREFERRED_NETWORK_MODE_WCDMA | 2 | 首选WCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE | 3 | 首选LTE网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_WCDMA | 4 | 首选LTE WCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM | 5 | 首选LTE WCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_WCDMA_GSM | 6 | 首选WCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_CDMA | 7 | 首选CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_EVDO | 8 | 首选EVDO网络模式。 |
| PREFERRED_NETWORK_MODE_EVDO_CDMA | 9 | 首选EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_WCDMA_GSM_EVDO_CDMA | 10 | 首选WCDMA GSM EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_EVDO_CDMA | 11 | 首选LTE EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_WCDMA_GSM_EVDO_CDMA | 12 | 首选LTE WCDMA GSM EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_TDSCDMA | 13 | 首选TDSCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_TDSCDMA_GSM | 14 | 首选TDSCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA | 15 | 首选TDSCDMA_WCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM | 16 | 首选TDSCDMA_WCDMA_GSM网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_TDSCDMA | 17 | 首选LTE TDSCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_GSM | 18 | 首选LTE TDSCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA | 19 | 首选LTE TDSCDMA WCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM | 20 | 首选LTE TDSCDMA WCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_TDSCDMA_WCDMA_GSM_EVDO_CDMA | 21 | 首选TDSCDMA WCDMA GSM EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA | 22 | 首选LTE TDSCDMA WCDMA GSM EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_NR | 31 | 首选NR网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE | 32 | 首选NR LTE网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_WCDMA | 33 | 首选NR LTE WCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM | 34 | 首选NR LTE WCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_EVDO_CDMA | 35 | 首选NR LTE EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_WCDMA_GSM_EVDO_CDMA | 36 | 首选NR LTE WCDMA GSM EVDO CDMA网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA | 37 | 首选NR LTE TDSCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_GSM | 38 | 首选NR LTE TDSCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA | 39 | 首选NR LTE TDSCDMA WCDMA网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM | 40 | 首选NR LTE TDSCDMA WCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA | 41 | 首选NR LTE TDSCDMA WCDMA GSM网络模式。 |
| PREFERRED_NETWORK_MODE_MAX_VALUE | 99 | 首选网络模式最大值。 |
## CellInformation<sup>8+</sup>
小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ----------------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| networkType | [NetworkType](#networktype) | 是 | 获取服务单元的网络类型。 |
| isCamped | boolean | 是 | 获取服务单元的状态。 |
| timeStamp | number | 是 | 获取单元格信息时获取时间戳。 |
| signalInformation | [SignalInformation](#signalinformation) | 是 | 信号信息。 |
| data | [CdmaCellInformation](#cdmacellinformation8) \| [GsmCellInformation](#gsmcellinformation8) \| [LteCellInformation](#ltecellinformation8) \| [NrCellInformation](#nrcellinformation8) \| [TdscdmaCellInformation](#tdscdmacellinformation8) | 是 | Cdma小区信息 \|Gsm小区信息\|Lte小区信息\|Nr小区信息\|Tdscdma小区信息 |
## CdmaCellInformation<sup>8+</sup>
CDMA小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ------------ |
| baseId | number | 是 | 基站Id。 |
| latitude | number | 是 | 经度。 |
| longitude | number | 是 | 纬度。 |
| nid | number | 是 | 网络识别码。 |
| sid | number | 是 | 系统识别码。 |
## GsmCellInformation<sup>8+</sup>
GSM小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------- |
| lac | number | 是 | 位置区编号。 |
| cellId | number | 是 | 小区号。 |
| arfcn | number | 是 | 绝对无线频率信道号。 |
| bsic | number | 是 | 基站识别号。 |
| mcc | string | 是 | 移动国家码。 |
| mnc | string | 是 | 移动网号。 |
## LteCellInformation<sup>8+</sup>
LTE小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------------- | ------- | ---- | ----------------------- |
| cgi | number | 是 | 小区全球标识。 |
| pci | number | 是 | 物理小区识别。 |
| tac | number | 是 | 跟踪区域代码。 |
| earfcn | number | 是 | 绝对无线频率信道号。 |
| bandwidth | number | 是 | 带宽。 |
| mcc | string | 是 | 移动国家码。 |
| mnc | string | 是 | 移动网号。 |
| isSupportEndc | boolean | 是 | 是否支持新无线电_双连接 |
## NrCellInformation<sup>8+</sup>
NR小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ---------------- |
| nrArfcn | number | 是 | 5G频点号。 |
| pci | number | 是 | 物理小区识别。 |
| tac | number | 是 | 跟踪区域代码。 |
| nci | number | 是 | 5G网络小区标识。 |
| mcc | string | 是 | 移动国家码。 |
| mnc | string | 是 | 移动网号。 |
## TdscdmaCellInformation<sup>8+</sup>
TD-SCDMA小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------ |
| lac | number | 是 | 位置区编号。 |
| cellId | number | 是 | 小区号。 |
| cpid | number | 是 | 小区参数Id。 |
| uarfcn | number | 是 | 绝对射频号。 |
| mcc | string | 是 | 移动国家码。 |
| mnc | string | 是 | 移动网号。 |
## WcdmaCellInformation<sup>8+</sup>
WCDMA小区信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------ |
| lac | number | 是 | 位置区编号。 |
| cellId | number | 是 | 小区号。 |
| psc | number | 是 | 主扰码。 |
| uarfcn | number | 是 | 绝对射频号。 |
| mcc | string | 是 | 移动国家码。 |
| mnc | string | 是 | 移动网号。 |
## NrOptionMode<sup>8+</sup>
NR的选择模式。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| -------------------- | ---- | ---------------------------------- |
| NR_OPTION_UNKNOWN | 0 | 未知的NR选择模式。 |
| NR_OPTION_NSA_ONLY | 1 | 仅非独立组网的NR选择模式。 |
| NR_OPTION_SA_ONLY | 2 | 仅独立组网的NR选择模式。 |
| NR_OPTION_NSA_AND_SA | 3 | 非独立组网和独立组网的NR选择模式。 |
## NetworkSearchResult
网络搜索结果。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ---------------------- | ------------------------------------------------- | ---- | -------------- |
| isNetworkSearchSuccess | boolean | 是 | 网络搜索成功。 |
| networkSearchResult | Array<[NetworkInformation](#networkinformation)\> | 是 | 网络搜索结果。 |
## NetworkInformation
网络信息。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| --------------- | --------------------------------------------------- | ---- | -------------- |
| operatorName | string | 是 | 运营商的名称。 |
| operatorNumeric | string | 是 | 运营商数字。 |
| state | [NetworkInformationState](#networkinformationstate) | 是 | 网络信息状态。 |
| radioTech | string | 是 | 无线电技术。 |
## NetworkInformationState
网络信息状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| ----------------- | ---- | ---------------- |
| NETWORK_UNKNOWN | 0 | 网络状态未知。 |
| NETWORK_AVAILABLE | 1 | 网络可用于注册。 |
| NETWORK_CURRENT | 2 | 已在网络中注册。 |
| NETWORK_FORBIDDEN | 3 | 网络无法注册。 |
## NetworkSelectionModeOptions
网络选择模式选项。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 类型 | 必填 | 说明 |
| ------------------ | --------------------------------------------- | ---- | -------------------------------------- |
| slotId | number | 是 | 卡槽ID。<br/>- 0:卡槽1<br/>- 1:卡槽2 |
| selectMode | [NetworkSelectionMode](#networkselectionmode) | 是 | 网络选择模式。 |
| networkInformation | [NetworkInformation](#networkinformation) | 是 | 网络信息。 |
| resumeSelection | boolean | 是 | 继续选择。 |
## ImsRegState<sup>9+</sup>
IMS注册状态。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| ---------------- | ---- | -------- |
| IMS_UNREGISTERED | 0 | 未注册。 |
| IMS_REGISTERED | 1 | 已注册。 |
## ImsRegTech<sup>9+</sup>
IMS注册技术。
**系统接口:** 此接口为系统接口。
**系统能力**:SystemCapability.Telephony.CoreService
| 名称 | 值 | 说明 |
| ----------------------- | ---- | --------------- |
| REGISTRATION_TECH_NONE | 0 | 无注册技术。 |
| REGISTRATION_TECH_LTE | 1 | LTE注册技术。 |
| REGISTRATION_TECH_IWLAN | 2 | IWLAN注册技术。 |
| REGISTRATION_TECH_NR | 3 | NR注册技术。 |
## LockReason<sup>8+</sup> ## ImsRegInfo<sup>9+</sup>
SIM卡锁类型 IMS注册信息
**系统能力**:SystemCapability.Telephony.StateRegistry **系统接口:** 此接口为系统接口。
| 名称 | 值 | 说明 | **系统能力**:SystemCapability.Telephony.CoreService
| ----------- | ---- | ----------------- |
| SIM_NONE | 0 | 无锁。 |
| SIM_PIN | 1 | PIN锁。 |
| SIM_PUK | 2 | PUK锁。 |
| SIM_PN_PIN | 3 | 网络PIN锁。 |
| SIM_PN_PUK | 4 | 网络PUK锁。 |
| SIM_PU_PIN | 5 | 子网PIN锁。 |
| SIM_PU_PUK | 6 | 子网PUK锁。 |
| SIM_PP_PIN | 7 | 服务提供商PIN锁。 |
| SIM_PP_PUK | 8 | 服务提供商PUK锁。 |
| SIM_PC_PIN | 9 | 组织PIN锁。 |
| SIM_PC_PUK | 10 | 组织PUK锁。 |
| SIM_SIM_PIN | 11 | SIM PIN锁。 |
| SIM_SIM_PUK | 12 | SIM PUK锁。 |
| 名称 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------- | ---- | ------------- |
| imsRegState | [ImsRegState](#imsregstate9) | 是 | IMS注册状态。 |
| imsRegTech | [ImsRegTech](#imsregtech9) | 是 | IMS注册技术。 |
## SimStateData<sup>7+</sup> ## ImsServiceType<sup>9+</sup>
SIM卡类型和状态 IMS服务类型
**系统能力**:SystemCapability.Telephony.StateRegistry **系统接口:** 此接口为系统接口。
| 名称 | 类型 | 必填 | 说明 | **系统能力**:SystemCapability.Telephony.CoreService
| ------------------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| type | [CardType](js-apis-sim.md#cardtype7) | 是 | SIM卡类型。 |
| state | [SimState](js-apis-sim.md#simstate) | 是 | SIM卡状态。 |
| reason<sup>8+</sup> | [LockReason](#lockreason8) | 是 | SIM卡锁类型。 |
| 名称 | 值 | 说明 |
| ---------- | ---- | ---------- |
| TYPE_VOICE | 0 | 语音服务。 |
| TYPE_VIDEO | 1 | 视频服务。 |
| TYPE_UT | 2 | UT服务。 |
| TYPE_SMS | 3 | 短讯服务。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册