From 98c3c7209943aa60c27878f6228768c5f4d4ab7d Mon Sep 17 00:00:00 2001 From: zengyawen Date: Thu, 16 Mar 2023 13:18:37 +0000 Subject: [PATCH] update zh-cn/application-dev/reference/apis/js-apis-radio.md. Signed-off-by: zengyawen --- .../reference/apis/js-apis-radio.md | 2685 ++--------------- 1 file changed, 265 insertions(+), 2420 deletions(-) diff --git a/zh-cn/application-dev/reference/apis/js-apis-radio.md b/zh-cn/application-dev/reference/apis/js-apis-radio.md index 80d1801bcd..2ce5d1b826 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-radio.md +++ b/zh-cn/application-dev/reference/apis/js-apis-radio.md @@ -1,6 +1,6 @@ -# @ohos.telephony.radio (网络搜索) +# @ohos.telephony.observer (observer) -网络搜索模块提供管理网络搜索的一些基础功能,包括获取当前接入的CS域和PS域无线接入技术、获取网络状态、获取当前选网模式、获取注册网络所在国家的ISO国家码、获取主卡所在卡槽的索引号、获取指定SIM卡槽对应的注册网络信号强度信息列表、获取运营商名称、获取设备的指定卡槽的IMEI、获取设备的指定卡槽的MEID、获取设备的指定卡槽的唯一设备ID,判断当前设备是否支持5G\(NR\)、判断主卡的Radio是否打开等。 +本模块提供订阅管理功能,可以订阅/取消订阅的事件包括:网络状态变化、信号状态变化、通话状态变化、蜂窝数据链路连接状态、蜂窝数据业务的上下行数据流状态、SIM状态变化。 >**说明:** > @@ -10,25 +10,25 @@ ## 导入模块 ``` -import radio from '@ohos.telephony.radio'; +import observer from '@ohos.telephony.observer'; ``` -## radio.getRadioTech +## observer.on('networkStateChange') -getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\>\): void +on\(type: \'networkStateChange\', callback: Callback\): void; -获取当前接入的CS域和PS域无线接入技术。使用callback异步回调。 +订阅网络状态变化事件,使用callback方式作为异步方法。 **需要权限**:ohos.permission.GET_NETWORK_INFO -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\<{psRadioTech: [RadioTechnology](#radiotechnology), csRadioTech:[RadioTechnology](#radiotechnology)}\> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| type | string | 是 | 网络状态变化事件 | +| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 是 | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 @@ -45,1705 +45,29 @@ getRadioTech\(slotId: number, callback: AsyncCallback<\{psRadioTech: RadioTechno **示例:** ```js -let slotId = 0; -radio.getRadioTech(slotId, (err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +observer.on('networkStateChange', data => { + console.log("on networkStateChange, data:" + JSON.stringify(data)); }); ``` -## radio.getRadioTech +## observer.on('networkStateChange') -getRadioTech\(slotId: number\): Promise<\{psRadioTech: RadioTechnology, csRadioTech: RadioTechnology\}\> +on\(type: \'networkStateChange\', options: { slotId: number }, callback: Callback\): void; -获取当前接入的CS域和PS域无线接入技术。使用Promise异步回调。 +订阅指定卡槽位的网络状态变化事件,使用callback方式作为异步方法。 **需要权限**:ohos.permission.GET_NETWORK_INFO -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------------------------- | +| type | string | 是 | 网络状态变化事件 | | slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ------------------------------------------------------------ | ----------------------------------------------- | -| 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\): 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\): void - -获取网络状态。使用callback异步回调。 - -**需要权限**:ohos.permission.GET_NETWORK_INFO - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ---------------------------------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 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 - -获取网络状态。使用Promise异步回调。 - -**需要权限**:ohos.permission.GET_NETWORK_INFO - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 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\): void - -获取当前选网模式。使用callback异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 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 - -获取当前选网模式。使用Promise异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 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.getISOCountryCodeForNetwork7+ - -getISOCountryCodeForNetwork\(slotId: number, callback: AsyncCallback\): void - -获取注册网络所在国家的ISO国家码。使用callback异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | ---------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。返回国家码,例如: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.getISOCountryCodeForNetwork7+ - -getISOCountryCodeForNetwork\(slotId: number\): Promise - -获取注册网络所在国家的ISO国家码。使用Promise异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------- | ------------------------------------------------------------ | -| Promise\ | 以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.getPrimarySlotId7+ - -getPrimarySlotId\(callback: AsyncCallback\\): void - -获取主卡所在卡槽的索引号。使用callback异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | -| callback | AsyncCallback\ | 是 | 回调函数 | - -**错误码:** -以下错误码的详细介绍请参见[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.getPrimarySlotId7+ - -getPrimarySlotId\(\): Promise\ - -获取主卡所在卡槽的索引号。使用Promise异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**返回值:** - -| 类型 | 说明 | -| ----------------------------------------------------------- | ------------------------------------------------------------ | -| Promise\ | 以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.getSignalInformation7+ - -getSignalInformation\(slotId: number, callback: AsyncCallback\>\): void - -获取指定SIM卡槽对应的注册网络信号强度信息列表。使用callback异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\\> | 是 | 回调函数,返回[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.getSignalInformation7+ - -getSignalInformation\(slotId: number\): Promise\> - -获取指定SIM卡槽对应的注册网络信号强度信息列表。使用Promise异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------------------------------------------------- | ------------------------------------------------------------ | -| Promise\\> | 以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(deprecated) - -isNrSupported\(\): boolean - -判断当前设备是否支持5G\(NR\)。 - -> **说明:** -> -> 从 API version 7开始支持,从API version 9开始废弃。建议使用[isNRSupported](#radioisnrsupported9)替代。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**返回值:** - -| 类型 | 说明 | -| ------- | -------------------------------- | -| boolean | - true:支持
- false:不支持 | - -**示例:** - -```js -let result = radio.isNrSupported(); -console.log("Result: "+ result); -``` - -## radio.isNrSupported(deprecated) - -isNrSupported\(slotId: number\): boolean - -判断当前设备是否支持5G\(NR\)。 - -> **说明:** -> -> 从 API version 8开始支持,从API version 9开始废弃。建议使用[isNRSupported](#radioisnrsupported9-1)替代。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ------------------ | ------------------------------------------------------------ | -| boolean | - true:支持
- false:不支持 | - -**示例:** - -```js -let slotId = 0; -let result = radio.isNrSupported(slotId); -console.log("Result: "+ result); -``` - - -## radio.isNRSupported9+ - -isNRSupported\(\): boolean - -判断当前设备是否支持5G\(NR\)。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**返回值:** - -| 类型 | 说明 | -| ------- | -------------------------------- | -| boolean | - true:支持
- false:不支持 | - -**示例:** - -```js -let result = radio.isNRSupported(); -console.log("Result: "+ result); -``` - - -## radio.isNRSupported9+ - -isNRSupported\(slotId: number\): boolean - -判断当前设备是否支持5G\(NR\)。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ------------------ | ------------------------------------------------------------ | -| boolean | - true:支持
- false:不支持 | - -**示例:** - -```js -let slotId = 0; -let result = radio.isNRSupported(slotId); -console.log("Result: "+ result); -``` - - -## radio.isRadioOn7+ - -isRadioOn\(callback: AsyncCallback\): void - -判断主卡的Radio是否打开。使用callback异步回调。 - -**需要权限**:ohos.permission.GET_NETWORK_INFO - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------ | ---- | ------------------------------------------------------- | -| callback | AsyncCallback\ | 是 | 回调函数。
- true:Radio打开
- false:Radio关闭 | - -**错误码:** -以下错误码的详细介绍请参见[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.isRadioOn7+ - -isRadioOn\(slotId: number, callback: AsyncCallback\): void - -判断指定卡槽位的Radio是否打开。使用callback异步回调。 - -**需要权限**:ohos.permission.GET_NETWORK_INFO - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------ | ---- | ------------------------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。
- true:Radio打开
- false:Radio关闭 | - -**错误码:** -以下错误码的详细介绍请参见[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.isRadioOn7+ - -isRadioOn\(slotId?: number\): Promise - -判断Radio是否打开。使用Promise异步回调。 - -**需要权限**:ohos.permission.GET_NETWORK_INFO - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2
如果不指定slotId,默认判断主卡Radio是否打开 | - -**返回值:** - -| 类型 | 说明 | -| ------------------ | ------------------------------------------------------------ | -| Promise\ | 以Promise形式返回判断Radio是否打开的结果。
- true:Radio打开
- false:Radio关闭 | - -**错误码:** -以下错误码的详细介绍请参见[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.getOperatorName7+ - -getOperatorName\(slotId: number, callback: AsyncCallback\): void - -获取运营商名称。使用callback异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | ------------------------------------------ | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数,返回运营商名称,例如:中国移动。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getOperatorName7+ - -getOperatorName\(slotId: number\): Promise - -获取运营商名称。使用Promise异步回调。 - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------- | ------------------------------------------------------------ | -| Promise\ | 以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.setPrimarySlotId8+ - -setPrimarySlotId(slotId: number, callback: AsyncCallback): void - -设置主卡所在卡槽的索引号。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.setPrimarySlotId8+ - -setPrimarySlotId\(slotId: number\): Promise\ - -设置主卡所在卡槽的索引号。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ------------------------------- | -| Promise\ | 以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.getIMEI8+ - -getIMEI(callback: AsyncCallback): void - -获取设备的指定卡槽的IMEI。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | ------------------------------------------ | -| callback | AsyncCallback\ | 是 | 回调函数,如果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.getIMEI8+ - -getIMEI(slotId: number, callback: AsyncCallback): void - -获取设备的指定卡槽的IMEI。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | ------------------------------------------ | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数,如果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.getIMEI8+ - -getIMEI(slotId?: number): Promise - -获取设备的指定卡槽的IMEI。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------- | ------------------------------------------ | -| Promise\ | 以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.getMEID8+ - -getMEID(callback: AsyncCallback): void - -获取设备的指定卡槽的MEID。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getMEID8+ - -getMEID(slotId: number, callback: AsyncCallback): void - -获取设备的指定卡槽的MEID。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getMEID8+ - -getMEID(slotId?: number): Promise - -获取设备的指定卡槽的MEID。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------- | --------------------------------------- | -| Promise\ | 以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.getUniqueDeviceId8+ - -getUniqueDeviceId(callback: AsyncCallback): void - -获取设备的指定卡槽的唯一设备ID。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getUniqueDeviceId8+ - -getUniqueDeviceId(slotId: number, callback: AsyncCallback): void - -获取设备的指定卡槽的唯一设备ID。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getUniqueDeviceId8+ - -getUniqueDeviceId(slotId?: number): Promise - -获取设备的指定卡槽的唯一设备ID。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------- | --------------------------------------------- | -| Promise\ | 以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.sendUpdateCellLocationRequest8+ - -sendUpdateCellLocationRequest\(callback: AsyncCallback\): void - -发送更新小区位置请求。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.sendUpdateCellLocationRequest8+ - -sendUpdateCellLocationRequest\(slotId: number, callback: AsyncCallback\): void - -发送更新小区位置请求。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | ---------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.sendUpdateCellLocationRequest8+ - -sendUpdateCellLocationRequest\(slotId?: number): Promise - -发送更新小区位置请求。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ----------------------- | -| Promise\ | 以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.getCellInformation8+ - -getCellInformation(callback: AsyncCallback>): void - -获取小区信息。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | ------------------------ | -| callback | AsyncCallback\\> | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getCellInformation8+ - -getCellInformation(slotId: number, callback: AsyncCallback\>): void - -获取小区信息。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\\> | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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.getCellInformation8+ - -getCellInformation(slotId?: number): Promise\> - -获取小区信息。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.LOCATION 和 ohos.permission.APPROXIMATELY_LOCATION - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ------------------------------------------------------- | ----------------------- | -| Promise\\> | 以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 - -设置网络选择模式。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------------------- | ---- | ------------------ | -| options | [NetworkSelectionModeOptions](#networkselectionmodeoptions) | 是 | 网络选择模式选项。 | -| callback | AsyncCallback\ | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[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 - -设置网络选择模式。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------- | ----------------------------------------------------------- | ---- | ------------------ | -| options | [NetworkSelectionModeOptions](#networkselectionmodeoptions) | 是 | 网络选择模式选项。 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ----------------------- | -| Promise\ | 以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\): void - -获取网络搜索信息。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 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 - -获取网络搜索信息。使用Promise异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ------------------------------------------------------ | ----------------------- | -| Promise\<[NetworkSearchResult](#networksearchresult)\> | 以Promise形式返回结果。 | +| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 是 | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 @@ -1760,34 +84,32 @@ getNetworkSearchInformation\(slotId: number\): Promise **示例:** ```js -let promise = radio.getNetworkSearchInformation(0); -promise.then(data => { - console.log(`getNetworkSearchInformation success, promise: data->${JSON.stringify(data)}`); -}).catch(err => { - console.log(`getNetworkSearchInformation failed, promise: err->${JSON.stringify(err)}`); +observer.on('networkStateChange', {slotId: 0}, data => { + console.log("on networkStateChange, data:" + JSON.stringify(data)); }); ``` -## radio.getNrOptionMode8+ -getNrOptionMode(callback: AsyncCallback): void +## observer.off('networkStateChange') -获取Nr选项模式 。使用callback异步回调。 +off\(type: \'networkStateChange\', callback?: Callback\): void; -**系统接口:** 此接口为系统接口。 +取消订阅网络状态变化事件,使用callback方式作为异步方法。 + +>**说明:** +> +>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------- | ---- | ---------- | -| callback | AsyncCallback\<[NrOptionMode](#nroptionmode8)\> | 是 | 回调函数。 | - -**错误码:** -以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | +| type | string | 是 | 网络状态变化事件 | +| callback | Callback\<[NetworkState](js-apis-radio.md#networkstate)\> | 否 | 回调函数。参考radio的[NetworkState](js-apis-radio.md#networkstate) | -| 错误码ID | 错误信息 | +| 错误码ID | 错误信息 | | -------- | -------------------------------------------- | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | @@ -1798,34 +120,36 @@ getNrOptionMode(callback: AsyncCallback): void **示例:** ```js -radio.getNrOptionMode((err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); -}); +let callback = data => { + console.log("on networkStateChange, data:" + JSON.stringify(data)); +} +observer.on('networkStateChange', callback); +// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 +observer.off('networkStateChange', callback); +observer.off('networkStateChange'); ``` +## observer.on('signalInfoChange') -## radio.getNrOptionMode8+ +on\(type: \'signalInfoChange\', callback: Callback\>): void; -getNrOptionMode(slotId: number, callback: AsyncCallback): void +订阅信号状态变化事件,使用callback方式作为异步方法。 -获取Nr选项模式 。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\<[NrOptionMode](#nroptionmode8)\> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 信号状态变化事件 | +| callback | Callback\> | 是 | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 -| 错误码ID | 错误信息 | +| 错误码ID | 错误信息 | | -------- | -------------------------------------------- | +| 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | @@ -1835,75 +159,27 @@ getNrOptionMode(slotId: number, callback: AsyncCallback): void **示例:** ```js -let slotId = 0; -radio.getNrOptionMode(slotId, (err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +observer.on('signalInfoChange', data => { + console.log("on signalInfoChange, data:" + JSON.stringify(data)); }); ``` -## radio.getNrOptionMode8+ - -getNrOptionMode(slotId?: number): Promise +## observer.on('signalInfoChange') -获取Nr选项模式 。使用Promise异步回调。 +on\(type: \'signalInfoChange\', options: { slotId: number }, callback: Callback\>): void; -**系统接口:** 此接口为系统接口。 +订阅指定卡槽位的信号状态变化事件,使用callback方式作为异步方法。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| ----------------------------------------- | ----------------------- | -| 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.turnOnRadio7+ - -turnOnRadio(callback: AsyncCallback): void - -打开Radio。使用callback异步回调。 - -**系统接口:** 此接口为系统接口。 - -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数。 | +| type | string | 是 | 信号状态变化事件 | +| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | +| callback | Callback\> | 是 | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 @@ -1920,37 +196,36 @@ turnOnRadio(callback: AsyncCallback): void **示例:** ```js -radio.turnOnRadio((err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +observer.on('signalInfoChange', {slotId: 0}, data => { + console.log("on signalInfoChange, data:" + JSON.stringify(data)); }); ``` -## radio.turnOnRadio7+ - -turnOnRadio(slotId: number, callback: AsyncCallback): void +## observer.off('signalInfoChange') -打开Radio。使用callback异步回调。 +off\(type: \'signalInfoChange\', callback?: Callback\>): void; -**系统接口:** 此接口为系统接口。 +取消订阅信号状态变化事件,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE +>**说明:** +> +>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 信号状态变化事件 | +| callback | Callback\> | 否 | 回调函数。参考radio的[SignalInformation](js-apis-radio.md#signalinformation) | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -1960,43 +235,36 @@ turnOnRadio(slotId: number, callback: AsyncCallback): void **示例:** ```js -let slotId = 0; -radio.turnOnRadio(slotId, (err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); -}); +let callback = data => { + console.log("on signalInfoChange, data:" + JSON.stringify(data)); +} +observer.on('signalInfoChange', callback); +// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 +observer.off('signalInfoChange', callback); +observer.off('signalInfoChange'); ``` -## radio.turnOnRadio7+ - -turnOnRadio(slotId?: number): Promise +## observer.on('callStateChange') -打开Radio。使用Promise异步回调。 +on(type: 'callStateChange', callback: Callback\<{ state: CallState, number: string }\>): void; -**系统接口:** 此接口为系统接口。 +订阅通话状态变化事件,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ----------------------- | -| Promise\ | 以Promise形式返回结果。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 通话状态变化事件 | +| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 是 | 回调函数,参考call的[CallState](js-apis-call.md#callstate)
number:电话号码 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2006,39 +274,33 @@ turnOnRadio(slotId?: number): Promise **示例:** ```js -let slotId = 0; -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)}`); +observer.on('callStateChange', value => { + console.log("on callStateChange, state:" + value.state + ", number:" + value.number); }); ``` -## radio.turnOffRadio7+ -turnOffRadio(callback: AsyncCallback): void +## observer.on('callStateChange') -关闭Radio。使用callback异步回调。 +on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ state:CallState, number: string }>): void; -**系统接口:** 此接口为系统接口。 +订阅通话状态变化事件,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | ---------- | -| callback | AsyncCallback\ | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 通话状态变化事件 | +| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | +| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 是 | 回调函数,参考call的[CallState](js-apis-call.md#callstate)
number:电话号码 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2048,37 +310,36 @@ turnOffRadio(callback: AsyncCallback): void **示例:** ```js -radio.turnOffRadio((err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +observer.on('callStateChange', {slotId: 0}, value => { + console.log("on callStateChange, state:" + value.state + ", number:" + value.number); }); ``` -## radio.turnOffRadio7+ - -turnOffRadio(slotId: number, callback: AsyncCallback): void +## observer.off('callStateChange') -关闭Radio。使用callback异步回调。 +off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: string }>): void; -**系统接口:** 此接口为系统接口。 +取消订阅通话状态变化事件,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE +>**说明:** +> +>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\ | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 通话状态变化事件 | +| callback | Callback\<{ state: [CallState](js-apis-call.md#callstate), number: string }\> | 否 | 回调函数,参考call的[CallState](js-apis-call.md#callstate)
number:电话号码 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2088,43 +349,36 @@ turnOffRadio(slotId: number, callback: AsyncCallback): void **示例:** ```js -let slotId = 0; -radio.turnOffRadio(slotId, (err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); -}); +let callback = value => { + console.log("on callStateChange, state:" + value.state + ", number:" + value.number); +} +observer.on('callStateChange', callback); +// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 +observer.off('callStateChange', callback); +observer.off('callStateChange'); ``` -## radio.turnOffRadio7+ - -turnOffRadio(slotId?: number): Promise +## observer.on('cellularDataConnectionStateChange')7+ -关闭Radio。使用Promise异步回调。 +on\(type: 'cellularDataConnectionStateChange', callback: Callback\<{ state: DataConnectState, network: RatType}\>\): void; -**系统接口:** 此接口为系统接口。 +订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 否 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ----------------------- | -| Promise\ | 以Promise形式返回结果。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 蜂窝数据链路连接状态事件 | +| 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)。 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2134,41 +388,33 @@ turnOffRadio(slotId?: number): Promise **示例:** ```js -let slotId = 0; -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)}`); +observer.on('cellularDataConnectionStateChange', value => { + console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); }); ``` -## radio.setPreferredNetwork8+ -setPreferredNetwork\(slotId: number, networkMode: PreferredNetworkMode, callback: AsyncCallback\): void +## observer.on('cellularDataConnectionStateChange')7+ -设置首选网络。使用callback异步回调。 +on\(type: 'cellularDataConnectionStateChange', options: { slotId: number }, callback: Callback\<{ state: DataConnectState, network: RatType }\>\): void; -**系统接口:** 此接口为系统接口。 +订阅指定卡槽位的蜂窝数据链路连接状态,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ---------------------------------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| networkMode | [PreferredNetworkMode](#preferrednetworkmode8) | 是 | 设置首选网络模式。 | -| callback | AsyncCallback\ | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 蜂窝数据链路连接状态事件 | +| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 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)。 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2178,42 +424,36 @@ setPreferredNetwork\(slotId: number, networkMode: PreferredNetworkMode, callback **示例:** ```js -radio.setPreferredNetwork(0, 1, (err, data) => { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +observer.on('cellularDataConnectionStateChange', {slotId: 0}, value => { + console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); }); ``` -## radio.setPreferredNetwork8+ -setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode): Promise +## observer.off('cellularDataConnectionStateChange')7+ -设置首选网络。使用Promise异步回调。 +off\(type: 'cellularDataConnectionStateChange', callback?: Callback\<{ state: DataConnectState, network: RatType}\>\): void; -**系统接口:** 此接口为系统接口。 +移除订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.SET_TELEPHONY_STATE +>**说明:** +> +>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ---------------------------------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| networkMode | [PreferredNetworkMode](#preferrednetworkmode8) | 是 | 设置首选网络模式。 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ----------------------- | -| Promise\ | 以Promise形式返回结果。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 蜂窝数据链路连接状态事件 | +| 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)。 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2223,39 +463,36 @@ setPreferredNetwork(slotId: number, networkMode: PreferredNetworkMode): Promise< **示例:** ```js -let promise = radio.setPreferredNetwork(0, 1); -promise.then(data => { - console.log(`setPreferredNetwork success, promise: data->${JSON.stringify(data)}`); -}).catch(err => { - console.log(`setPreferredNetwork failed, promise: err->${JSON.stringify(err)}`); -}); +let callback = value => { + console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network); +} +observer.on('cellularDataConnectionStateChange', callback); +// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 +observer.off('cellularDataConnectionStateChange', callback); +observer.off('cellularDataConnectionStateChange'); ``` -## radio.getPreferredNetwork8+ -getPreferredNetwork\(slotId: number, callback: AsyncCallback\): void +## observer.on('cellularDataFlowChange')7+ -获取首选网络。使用callback异步回调。 +on\(type: 'cellularDataFlowChange', callback: Callback\\): void; -**系统接口:** 此接口为系统接口。 +订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | --------------------------------------------------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| callback | AsyncCallback\<[PreferredNetworkMode](#preferrednetworkmode8)\> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 蜂窝数据业务的上下行数据流状态状态事件 | +| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 是 | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2265,41 +502,33 @@ getPreferredNetwork\(slotId: number, callback: AsyncCallback { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); +observer.on('cellularDataFlowChange', data => { + console.log("on networkStateChange, data:" + JSON.stringify(data)); }); ``` -## radio.getPreferredNetwork8+ -getPreferredNetwork(slotId: number): Promise +## observer.on('cellularDataFlowChange')7+ -获取首选网络。使用Promise异步回调。 +on\(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Callback\\): void; -**系统接口:** 此接口为系统接口。 +订阅指定卡槽位的蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.GET_TELEPHONY_STATE - -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | - -**返回值:** - -| 类型 | 说明 | -| --------------- | ----------------------- | -| Promise\ | 以Promise形式返回结果。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件 | +| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | +| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 是 | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2309,40 +538,36 @@ getPreferredNetwork(slotId: number): Promise **示例:** ```js -let promise = radio.getPreferredNetwork(0); -promise.then(data => { - console.log(`getPreferredNetwork success, promise: data->${JSON.stringify(data)}`); -}).catch(err => { - console.log(`getPreferredNetwork failed, promise: err->${JSON.stringify(err)}`); +observer.on('cellularDataFlowChange', {slotId: 0}, data => { + console.log("on cellularDataFlowChange, data:" + JSON.stringify(data)); }); ``` -## radio.getImsRegInfo9+ -getImsRegInfo(slotId: number, imsType: ImsServiceType, callback: AsyncCallback): void +## observer.off('cellularDataFlowChange')7+ -获取特定IMS服务类型的IMS注册状态信息。使用callback异步回调。 +off\(type: 'cellularDataFlowChange', callback?: Callback\\): void; -**系统接口:** 此接口为系统接口。 +移除订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.GET_TELEPHONY_STATE +>**说明:** +> +>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------ | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 | -| callback | AsyncCallback<[ImsRegInfo](#imsreginfo9)\> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件 | +| callback | Callback\<[DataFlowType](js-apis-telephony-data.md#dataflowtype)\> | 否 | 回调函数,参考data的[DataFlowType](js-apis-telephony-data.md#dataflowtype)。 | **错误码:** 以下错误码的详细介绍请参见[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. | @@ -2352,42 +577,36 @@ getImsRegInfo(slotId: number, imsType: ImsServiceType, callback: AsyncCallback { - console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`); -}); +let callback = data => { + console.log("on cellularDataFlowChange, data:" + JSON.stringify(data)); +} +observer.on('cellularDataFlowChange', callback); +// 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 +observer.off('cellularDataFlowChange', callback); +observer.off('cellularDataFlowChange'); ``` -## radio.getImsRegInfo9+ - -getImsRegInfo(slotId: number, imsType: ImsServiceType): Promise -获取特定IMS服务类型的IMS注册状态信息。使用Promise异步回调。 +## observer.on('simStateChange')7+ -**系统接口:** 此接口为系统接口。 +on\(type: 'simStateChange', callback: Callback\\): void; -**需要权限**:ohos.permission.GET_TELEPHONY_STATE +订阅sim状态更改事件,使用callback方式作为异步方法。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | ---------------------------------- | ---- | -------------------------------------- | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 | - -**返回值:** - -| 类型 | 说明 | -| ------------------------------------- | ----------------------- | -| Promise\<[ImsRegInfo](#imsreginfo9)\> | 以Promise形式返回结果。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | sim状态更改事件 | +| callback | Callback\<[SimStateData](#simstatedata7)\> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 -| 错误码ID | 错误信息 | +| 错误码ID | 错误信息 | | -------- | -------------------------------------------- | -| 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | @@ -2397,41 +616,33 @@ getImsRegInfo(slotId: number, imsType: ImsServiceType): Promise **示例:** ```js -let promise = radio.getImsRegInfo(0, radio.ImsServiceType.TYPE_VIDEO); -promise.then(data => { - console.log(`getImsRegInfo success, promise: data->${JSON.stringify(data)}`); -}).catch(err => { - console.log(`getImsRegInfo failed, promise: err->${JSON.stringify(err)}`); +observer.on('simStateChange', data => { + console.log("on simStateChange, data:" + JSON.stringify(data)); }); ``` -## radio.on('imsRegStateChange')9+ - -on(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: Callback): void -订阅imsRegStateChange事件,使用callback异步回调。 +## observer.on('simStateChange')7+ -**系统接口:** 此接口为系统接口。 +on\(type: 'simStateChange', options: { slotId: number }, callback: Callback\\): void; -**需要权限**:ohos.permission.GET_TELEPHONY_STATE +订阅指定卡槽位的sim状态更改事件,使用callback方式作为异步方法。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------ | ---- | -------------------------------------- | -| type | string | 是 | 监听IMS注册状态的变化。 | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 | -| callback | Callback<[ImsRegInfo](#imsreginfo9)> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | sim状态更改事件 | +| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | +| callback | Callback\<[SimStateData](#simstatedata7)\> | 是 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 -| 错误码ID | 错误信息 | +| 错误码ID | 错误信息 | | -------- | -------------------------------------------- | -| 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | @@ -2441,38 +652,36 @@ on(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback: **示例:** ```js -radio.on('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => { - console.log(`callback: data->${JSON.stringify(data)}`); +observer.on('simStateChange', {slotId: 0}, data => { + console.log("on simStateChange, data:" + JSON.stringify(data)); }); ``` -## radio.off('imsRegStateChange')9+ -off(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback?: Callback): void +## observer.off('simStateChange')7+ -取消订阅imsRegStateChange事件,使用callback异步回调。 +off\(type: 'simStateChange', callback?: Callback\\): void; -**系统接口:** 此接口为系统接口。 +移除订阅sim状态更改事件,使用callback方式作为异步方法。 -**需要权限**:ohos.permission.GET_TELEPHONY_STATE +>**说明:** +> +>可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。 -**系统能力**:SystemCapability.Telephony.CoreService +**系统能力**:SystemCapability.Telephony.StateRegistry **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------ | ---- | -------------------------------------- | -| type | string | 是 | 通话结束时取消监听通话详情的变化。 | -| slotId | number | 是 | 卡槽ID。
- 0:卡槽1
- 1:卡槽2 | -| imsType | [ImsServiceType](#imsservicetype9) | 是 | IMS服务类型。 | -| callback | Callback<[ImsRegInfo](#imsreginfo9)> | 否 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | +| type | string | 是 | sim状态更改事件 | +| callback | Callback\<[SimStateData](#simstatedata7)\> | 否 | 回调函数。 | **错误码:** 以下错误码的详细介绍请参见[ohos.telephony(电话子系统)错误码](../../reference/errorcodes/errorcode-telephony.md)错误码。 -| 错误码ID | 错误信息 | +| 错误码ID | 错误信息 | | -------- | -------------------------------------------- | -| 201 | Permission denied. | | 401 | Parameter error. | | 8300001 | Invalid parameter value. | | 8300002 | Operation failed. Cannot connect to service. | @@ -2482,412 +691,48 @@ off(type: 'imsRegStateChange', slotId: number, imsType: ImsServiceType, callback **示例:** ```js -radio.off('imsRegStateChange', 0, radio.ImsServiceType.TYPE_VIDEO, data => { - console.log(`callback: data->${JSON.stringify(data)}`); -}); +let callback = data => { + console.log("on simStateChange, 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 | 是 | 网络信号强度等级。 | -| dBm9+| 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) | 是 | 设备的网络注册状态。 | -| cfgTech8+ | [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 | 手动选网模式。 | - -## PreferredNetworkMode8+ - -首选网络模式。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为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 | 首选网络模式最大值。 | - -## CellInformation8+ - -小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为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小区信息 | - -## CdmaCellInformation8+ - -CDMA小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 类型 | 必填 | 说明 | -| --------- | ------ | ---- | ------------ | -| baseId | number | 是 | 基站Id。 | -| latitude | number | 是 | 经度。 | -| longitude | number | 是 | 纬度。 | -| nid | number | 是 | 网络识别码。 | -| sid | number | 是 | 系统识别码。 | - -## GsmCellInformation8+ - -GSM小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | -------------------- | -| lac | number | 是 | 位置区编号。 | -| cellId | number | 是 | 小区号。 | -| arfcn | number | 是 | 绝对无线频率信道号。 | -| bsic | number | 是 | 基站识别号。 | -| mcc | string | 是 | 移动国家码。 | -| mnc | string | 是 | 移动网号。 | - -## LteCellInformation8+ - -LTE小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 类型 | 必填 | 说明 | -| ------------- | ------- | ---- | ----------------------- | -| cgi | number | 是 | 小区全球标识。 | -| pci | number | 是 | 物理小区识别。 | -| tac | number | 是 | 跟踪区域代码。 | -| earfcn | number | 是 | 绝对无线频率信道号。 | -| bandwidth | number | 是 | 带宽。 | -| mcc | string | 是 | 移动国家码。 | -| mnc | string | 是 | 移动网号。 | -| isSupportEndc | boolean | 是 | 是否支持新无线电_双连接 | - -## NrCellInformation8+ - -NR小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 类型 | 必填 | 说明 | -| ------- | ------ | ---- | ---------------- | -| nrArfcn | number | 是 | 5G频点号。 | -| pci | number | 是 | 物理小区识别。 | -| tac | number | 是 | 跟踪区域代码。 | -| nci | number | 是 | 5G网络小区标识。 | -| mcc | string | 是 | 移动国家码。 | -| mnc | string | 是 | 移动网号。 | - -## TdscdmaCellInformation8+ - -TD-SCDMA小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | ------------ | -| lac | number | 是 | 位置区编号。 | -| cellId | number | 是 | 小区号。 | -| cpid | number | 是 | 小区参数Id。 | -| uarfcn | number | 是 | 绝对射频号。 | -| mcc | string | 是 | 移动国家码。 | -| mnc | string | 是 | 移动网号。 | - -## WcdmaCellInformation8+ - -WCDMA小区信息。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | ------------ | -| lac | number | 是 | 位置区编号。 | -| cellId | number | 是 | 小区号。 | -| psc | number | 是 | 主扰码。 | -| uarfcn | number | 是 | 绝对射频号。 | -| mcc | string | 是 | 移动国家码。 | -| mnc | string | 是 | 移动网号。 | - -## NrOptionMode8+ - -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。
- 0:卡槽1
- 1:卡槽2 | -| selectMode | [NetworkSelectionMode](#networkselectionmode) | 是 | 网络选择模式。 | -| networkInformation | [NetworkInformation](#networkinformation) | 是 | 网络信息。 | -| resumeSelection | boolean | 是 | 继续选择。 | - -## ImsRegState9+ - -IMS注册状态。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 值 | 说明 | -| ---------------- | ---- | -------- | -| IMS_UNREGISTERED | 0 | 未注册。 | -| IMS_REGISTERED | 1 | 已注册。 | - -## ImsRegTech9+ - -IMS注册技术。 - -**系统接口:** 此接口为系统接口。 - -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 - -| 名称 | 值 | 说明 | -| ----------------------- | ---- | --------------- | -| REGISTRATION_TECH_NONE | 0 | 无注册技术。 | -| REGISTRATION_TECH_LTE | 1 | LTE注册技术。 | -| REGISTRATION_TECH_IWLAN | 2 | IWLAN注册技术。 | -| REGISTRATION_TECH_NR | 3 | NR注册技术。 | -## ImsRegInfo9+ +## LockReason8+ -IMS注册信息。 +SIM卡锁类型。 -**系统接口:** 此接口为系统接口。 +**系统能力**: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注册技术。 | -## ImsServiceType9+ +## SimStateData7+ -IMS服务类型。 +SIM卡类型和状态。 -**系统接口:** 此接口为系统接口。 +**系统能力**:SystemCapability.Telephony.StateRegistry -**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CoreService。 +| 名称 | 类型 | 必填 | 说明 | +| ------------------- | ----------------------------------- | ---- | -------------------------------------------------------- | +| type | [CardType](js-apis-sim.md#cardtype7) | 是 | SIM卡类型。 | +| state | [SimState](js-apis-sim.md#simstate) | 是 | SIM卡状态。 | +| reason8+ | [LockReason](#lockreason8) | 是 | SIM卡锁类型。 | -| 名称 | 值 | 说明 | -| ---------- | ---- | ---------- | -| TYPE_VOICE | 0 | 语音服务。 | -| TYPE_VIDEO | 1 | 视频服务。 | -| TYPE_UT | 2 | UT服务。 | -| TYPE_SMS | 3 | 短讯服务。 | -- GitLab