本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块提供订阅管理功能,可以订阅/取消订阅的事件包括:网络状态变化、信号状态变化、通话状态变化、蜂窝数据链路连接状态、蜂窝数据业务的上下行数据流状态、SIM状态变化。
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- import { observer } from '@kit.TelephonyKit';
type NetworkState = radio.NetworkState
网络注册状态。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| radio.NetworkState | 网络注册状态。 |
type SignalInformation = radio.SignalInformation
网络信号强度信息对象。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| radio.SignalInformation | 网络信号强度信息对象。 |
type DataConnectState = data.DataConnectState
描述蜂窝数据链路连接状态。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| data.DataConnectState | 描述蜂窝数据链路连接状态。 |
type RatType = radio.RadioTechnology
无线接入技术。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| radio.RadioTechnology | 无线接入技术。 |
type DataFlowType = data.DataFlowType
描述蜂窝数据流类型。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| data.DataFlowType | 描述蜂窝数据流类型。 |
type CallState = call.CallState
通话状态码。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| call.CallState | 通话状态码(去电过程仅通知CALL_STATE_OFFHOOK状态)。 |
type CCallState = call.CCallState
运营商通话状态码。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| call.CCallState | 通话状态码(运营商通话状态码)。 |
type CardType = sim.CardType
卡类型。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| sim.CardType | 卡类型。 |
type SimState = sim.SimState
SIM卡状态。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| sim.SimState | SIM卡状态。 |
type TelCallState = call.TelCallState
通话状态码。
系统能力:SystemCapability.Telephony.StateRegistry
| 类型 | 说明 |
|---|---|
| call.TelCallState | 通话状态码(去电过程通知去电号码状态TEL_CALL_STATE_OFFHOOK和去电接通状态TEL_CALL_STATE_CONNECTED)。 |
on(type: 'networkStateChange', callback: Callback<NetworkState>): void
订阅网络状态变化事件,使用callback方式作为异步方法。
需要权限:ohos.permission.GET_NETWORK_INFO
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 网络状态变化事件,参数固定为'networkStateChange'。 |
| callback | Callback<NetworkState> | 是 | 回调函数,返回网络状态对象。参考radio的NetworkState。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- try {
- observer.on('networkStateChange', (data: observer.NetworkState) => {
- console.info("on networkStateChange, data:" + JSON.stringify(data));
- });
- } catch (err) {
- console.error(`observer.on networkStateChange failed: ${JSON.stringify(err)}`);
- }
on(type: 'networkStateChange', options: ObserverOptions, callback: Callback<NetworkState>): void
订阅指定卡槽位的网络状态变化事件,使用callback方式作为异步方法。
需要权限:ohos.permission.GET_NETWORK_INFO
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 网络状态变化事件,参数固定为'networkStateChange'。 |
| options | ObserverOptions | 是 | 电话相关事件订阅参数可选项。 |
| callback | Callback<NetworkState> | 是 | 回调函数,返回网络状态对象。参考radio的NetworkState。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- // 设置订阅参数,指定卡槽ID为0(卡槽1)
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- // 订阅指定卡槽的网络状态变化事件
- observer.on('networkStateChange', options, (data: observer.NetworkState) => {
- console.info("on networkStateChange, data:" + JSON.stringify(data));
- });
off(type: 'networkStateChange', callback?: Callback<NetworkState>): void
取消订阅网络状态变化事件,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 网络状态变化事件,参数固定为'networkStateChange'。 |
| callback | Callback<NetworkState> | 否 | 回调函数,返回网络状态对象。参考radio的NetworkState。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let callback: (data: observer.NetworkState) => void = (data: observer.NetworkState) => {
- console.info("on networkStateChange, data:" + JSON.stringify(data));
- }
- observer.on('networkStateChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('networkStateChange', callback);
- observer.off('networkStateChange');
on(type: 'signalInfoChange', callback: Callback<Array<SignalInformation>>): void
订阅信号状态变化事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 信号状态变化事件,参数固定为'signalInfoChange'。 |
| callback | Callback<Array<SignalInformation>> | 是 | 回调函数,返回信号强度对象。参考radio的SignalInformation。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { radio } from '@kit.TelephonyKit';
-
- observer.on('signalInfoChange', (data: Array<radio.SignalInformation>) => {
- console.info("on signalInfoChange, data:" + JSON.stringify(data));
- });
on(type: 'signalInfoChange', options: ObserverOptions, callback: Callback<Array<SignalInformation>>): void
订阅指定卡槽位的信号状态变化事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 信号状态变化事件,参数固定为'signalInfoChange'。 |
| options | ObserverOptions | 是 | 电话相关事件订阅参数可选项。 |
| callback | Callback<Array<SignalInformation>> | 是 | 回调函数,返回信号强度对象。参考radio的SignalInformation。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { radio } from '@kit.TelephonyKit';
-
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- observer.on('signalInfoChange', options, (data: Array<radio.SignalInformation>) => {
- console.info("on signalInfoChange, data:" + JSON.stringify(data));
- });
off(type: 'signalInfoChange', callback?: Callback<Array<SignalInformation>>): void
取消订阅信号状态变化事件,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 信号状态变化事件,参数固定为'signalInfoChange'。 |
| callback | Callback<Array<SignalInformation>> | 否 | 回调函数,返回信号强度对象。参考radio的SignalInformation。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { radio } from '@kit.TelephonyKit';
-
- let callback: (data: Array<radio.SignalInformation>) => void = (data: Array<radio.SignalInformation>) => {
- console.info("on signalInfoChange, data:" + JSON.stringify(data));
- }
- observer.on('signalInfoChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('signalInfoChange', callback);
- observer.off('signalInfoChange');
on(type: 'callStateChange', callback: Callback<CallStateInfo>): void
订阅通话状态变化事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 通话状态变化事件,参数固定为"callStateChange"。 |
| callback | Callback<CallStateInfo> | 是 | 回调函数,返回通话状态信息对象。 应用可获取到CallStateInfo。 其中,三方应用仅能获取state通话状态。number受系统权限管控,仅面向系统应用开放。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- observer.on('callStateChange', (data: observer.CallStateInfo) => {
- console.info("on callStateChange, data:" + JSON.stringify(data));
- });
on(type: 'callStateChange', options: ObserverOptions, callback: Callback<CallStateInfo>): void
订阅通话状态变化事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 通话状态变化事件,参数固定为"callStateChange"。 |
| options | ObserverOptions | 是 | 电话相关事件订阅参数可选项。 |
| callback | Callback<CallStateInfo> | 是 | 回调函数,返回通话状态信息对象。 应用可获取到CallStateInfo。 其中,三方应用仅能获取state通话状态。number受系统权限管控,仅面向系统应用开放。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- observer.on('callStateChange', options, (data: observer.CallStateInfo) => {
- console.info("on callStateChange, data:" + JSON.stringify(data));
- });
off(type: 'callStateChange', callback?: Callback<CallStateInfo>): void
取消订阅通话状态变化事件,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 通话状态变化事件,参数固定为"callStateChange"。 |
| callback | Callback<CallStateInfo> | 否 | 回调函数,返回通话状态信息对象。 其中,三方应用仅能获取state通话状态。number受系统权限管控,仅面向系统应用开放。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let callback: (data: observer.CallStateInfo) => void = (data: observer.CallStateInfo) => {
- console.info("on callStateChange, data:" + JSON.stringify(data));
- }
- observer.on('callStateChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('callStateChange', callback);
- observer.off('callStateChange');
on(type: 'callStateChangeEx', callback: Callback<TelCallState>, options?: ObserverOptions): void
订阅通话状态变化拓展事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 通话状态变化事件,参数固定为"callStateChangeEx"。 |
| callback | Callback<TelCallState> | 是 | 回调函数,返回通话状态对象。 应用可获取到TelCallState。 |
| options | ObserverOptions | 否 | 电话相关事件订阅参数可选项,指定事件订阅的卡槽ID,默认为当前默认数据卡槽ID。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 8800001 | Invalid parameter value. |
| 8800002 | Service connection failed. |
| 8800003 | System internal error. |
| 8800999 | Unknown error. |
示例:
- import { call } from '@kit.TelephonyKit';
-
- // 定义通话状态变化拓展事件回调
- let callback: (data: call.TelCallState) => void = (data: call.TelCallState) => {
- console.info("on callStateChangeEx, data:" + JSON.stringify(data));
- }
- // 设置订阅参数,指定卡槽ID
- let options: observer.ObserverOptions = {
- slotId: 0
- }
-
- try {
- // 订阅通话状态变化拓展事件(指定卡槽)
- observer.on('callStateChangeEx', callback, options);
- // 订阅通话状态变化拓展事件(不指定卡槽,监听所有卡槽)
- observer.on('callStateChangeEx', callback);
- } catch (err) {
- console.error(`observer.on callStateChangeEx failed: ${JSON.stringify(err)}`);
- }
off(type: 'callStateChangeEx', callback?: Callback<TelCallState>): void
取消订阅通话状态变化拓展事件,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 通话状态变化事件,参数固定为'callStateChangeEx'。 |
| callback | Callback<TelCallState> | 否 | 回调函数,返回通话状态对象。参考call的TelCallState。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 8800001 | Invalid parameter value. |
| 8800002 | Service connection failed. |
| 8800003 | System internal error. |
| 8800999 | Unknown error. |
示例:
- import { call } from '@kit.TelephonyKit';
- let callback: (data: call.TelCallState) => void = (data: call.TelCallState) => {
- console.info("on callStateChangeEx, data:" + JSON.stringify(data));
- }
- observer.on('callStateChangeEx', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('callStateChangeEx', callback);
- observer.off('callStateChangeEx');
on(type: 'cellularDataConnectionStateChange', callback: Callback<DataConnectionStateInfo>): void
订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 蜂窝数据链路连接状态事件,参数固定为'cellularDataConnectionStateChange'。 |
| callback | Callback<DataConnectionStateInfo> | 是 | 回调函数,返回蜂窝数据链路连接状态信息对象。参考data的DataConnectState,radio的RadioTechnology。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- observer.on('cellularDataConnectionStateChange', (data: observer.DataConnectionStateInfo) => {
- console.info("on cellularDataConnectionStateChange, data:" + JSON.stringify(data));
- });
on(type: 'cellularDataConnectionStateChange', options: ObserverOptions, callback: Callback<DataConnectionStateInfo>): void
订阅指定卡槽位的蜂窝数据链路连接状态,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 蜂窝数据链路连接状态事件,参数固定为'cellularDataConnectionStateChange'。 |
| options | ObserverOptions | 是 | 电话相关事件订阅参数可选项。 |
| callback | Callback<DataConnectionStateInfo> | 是 | 回调函数,返回蜂窝数据链路连接状态信息对象。参考data的DataConnectState,radio的RadioTechnology。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- observer.on('cellularDataConnectionStateChange', options, (data: observer.DataConnectionStateInfo) => {
- console.info("on cellularDataConnectionStateChange, data:" + JSON.stringify(data));
- });
off(type: 'cellularDataConnectionStateChange', callback?: Callback<DataConnectionStateInfo>): void
移除订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 蜂窝数据链路连接状态事件,参数固定为'cellularDataConnectionStateChange'。 |
| callback | Callback<DataConnectionStateInfo> | 否 | 回调函数,返回蜂窝数据链路连接状态信息对象。参考data的DataConnectState,radio的RadioTechnology。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let callback: (data: observer.DataConnectionStateInfo) => void = (data: observer.DataConnectionStateInfo) => {
- console.info("on cellularDataConnectionStateChange, data:" + JSON.stringify(data));
- }
- observer.on('cellularDataConnectionStateChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('cellularDataConnectionStateChange', callback);
- observer.off('cellularDataConnectionStateChange');
on(type: 'cellularDataFlowChange', callback: Callback<DataFlowType>): void
订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件,参数固定为'cellularDataFlowChange'。 |
| callback | Callback<DataFlowType> | 是 | 回调函数,返回数据流状态对象。参考data的DataFlowType。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { data } from '@kit.TelephonyKit';
-
- observer.on('cellularDataFlowChange', (data: data.DataFlowType) => {
- console.info("on cellularDataFlowChange, data:" + JSON.stringify(data));
- });
on(type: 'cellularDataFlowChange', options: ObserverOptions, callback: Callback<DataFlowType>): void
订阅指定卡槽位的蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件,参数固定为'cellularDataFlowChange'。 |
| options | ObserverOptions | 是 | 电话相关事件订阅参数可选项。 |
| callback | Callback<DataFlowType> | 是 | 回调函数,返回数据流状态对象。参考data的DataFlowType。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { data } from '@kit.TelephonyKit';
-
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- observer.on('cellularDataFlowChange', options, (data: data.DataFlowType) => {
- console.info("on cellularDataFlowChange, data:" + JSON.stringify(data));
- });
off(type: 'cellularDataFlowChange', callback?: Callback<DataFlowType>): void
移除订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 蜂窝数据业务的上下行数据流状态事件,参数固定为'cellularDataFlowChange'。 |
| callback | Callback<DataFlowType> | 否 | 回调函数,返回数据流状态对象。参考data的DataFlowType。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { data } from '@kit.TelephonyKit';
-
- let callback: (data: data.DataFlowType) => void = (data: data.DataFlowType) => {
- console.info("on cellularDataFlowChange, data:" + JSON.stringify(data));
- }
- observer.on('cellularDataFlowChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('cellularDataFlowChange', callback);
- observer.off('cellularDataFlowChange');
on(type: 'simStateChange', callback: Callback<SimStateData>): void
订阅SIM卡状态更改事件,使用callback方式作为异步方法。
此接口不包含SIM卡的激活状态,具体请参见sim.isSimActive接口。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | SIM卡状态更改事件,参数固定为"simStateChange"。 |
| callback | Callback<SimStateData> | 是 | 回调函数,返回卡状态数据对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- observer.on('simStateChange', (data: observer.SimStateData) => {
- console.info("on simStateChange, data:" + JSON.stringify(data));
- });
on(type: 'simStateChange', options: ObserverOptions, callback: Callback<SimStateData>): void
订阅指定卡槽位的SIM卡状态更改事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | SIM卡状态更改事件,参数固定为"simStateChange"。 |
| options | ObserverOptions | 是 | 电话相关事件订阅参数可选项。 |
| callback | Callback<SimStateData> | 是 | 回调函数,返回卡状态数据对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- observer.on('simStateChange', options, (data: observer.SimStateData) => {
- console.info("on simStateChange, data:" + JSON.stringify(data));
- });
off(type: 'simStateChange', callback?: Callback<SimStateData>): void
移除订阅SIM卡状态更改事件,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | SIM卡状态更改事件,参数固定为"simStateChange"。 |
| callback | Callback<SimStateData> | 否 | 回调函数,返回卡状态数据对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let callback: (data: observer.SimStateData) => void = (data: observer.SimStateData) => {
- console.info("on simStateChange, data:" + JSON.stringify(data));
- }
- observer.on('simStateChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('simStateChange', callback);
- observer.off('simStateChange');
on(type: 'iccAccountInfoChange', callback: Callback<void>): void
订阅卡账户变化事件,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 卡账户变化事件,参数固定为"iccAccountInfoChange"。 |
| callback | Callback<void> | 是 | 回调函数。当卡账户变化时触发。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- observer.on('iccAccountInfoChange', () => {
- console.info("on iccAccountInfoChange success");
- });
off(type: 'iccAccountInfoChange', callback?: Callback<void>): void
移除订阅卡账户变化事件,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 卡账户变化事件,参数固定为"iccAccountInfoChange"。 |
| callback | Callback<void> | 否 | 回调函数。当卡账户变化时触发。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- let callback: () => void = () => {
- console.info("on iccAccountInfoChange success");
- }
- observer.on('iccAccountInfoChange', callback);
- // 可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
- observer.off('iccAccountInfoChange', callback);
- observer.off('iccAccountInfoChange');
onGetSimActiveState(slotId: number, callback: Callback<boolean>): void
监听SIM卡激活状态变化,使用callback方式作为异步方法。
需要权限:ohos.permission.GET_TELEPHONY_STATE
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| slotId | number | 是 | 卡槽ID。 - 0:卡槽1。 - 1:卡槽2。 |
| callback | Callback<boolean> | 是 | 回调函数,返回SIM卡是否激活。 - true:激活。 - false:未激活。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- import { sim } from '@kit.TelephonyKit';
-
- let sislotId = 0;
- let simActiveState: Callback<boolean> = (isSimActive: boolean) => {
- console.info(`simActiveState slotId ${JSON.stringify(isSimActive)}`);
- }
- observer.onGetSimActiveState(sislotId, simActiveState);
offGetSimActiveState(callback?: Callback<boolean>): void
取消SIM卡激活状态变化的监听,使用callback方式作为异步方法。
需要权限:ohos.permission.GET_TELEPHONY_STATE
系统能力:SystemCapability.Telephony.StateRegistry
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<boolean> | 否 | 回调函数,返回SIM卡是否激活。 - true:激活。 - false:未激活。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 8300001 | Invalid parameter value. |
| 8300002 | Service connection failed. |
| 8300003 | System internal error. |
| 8300999 | Unknown error. |
示例:
- import { BusinessError } from '@kit.BasicServicesKit';
- import { sim } from '@kit.TelephonyKit';
-
- let simActiveState: Callback<boolean> = (isSimActive: boolean) => {
- console.info(`simActiveState slotId ${JSON.stringify(isSimActive)}`);
- }
- observer.offGetSimActiveState(simActiveState);
onCCallStateChange(callback: Callback<CCallStateInfo>, options?: ObserverOptions): void
订阅运营商通话状态变化事件并获取通话号码,使用callback方式作为异步方法。
系统能力:SystemCapability.Telephony.StateRegistry
需要权限:ohos.permission.MANAGE_CALL_FOR_DEVICES
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<CCallStateInfo> | 是 | 回调函数,返回通话状态信息对象。 应用可获取到CCallStateInfo。 |
| options | ObserverOptions | 否 | 电话相关事件订阅参数可选项,指定事件订阅的卡槽ID,默认为当前默认数据卡槽ID。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied |
| 8800001 | Invalid parameter value. |
| 8800002 | Service connection failed. |
| 8800003 | System internal error. |
| 8800999 | Unknown error. |
示例:
- import { call, observer } from '@kit.TelephonyKit';
-
- // 定义运营商通话状态变化回调
- let callback: (data: observer.CCallStateInfo) => void = (data: observer.CCallStateInfo) => {
- console.info("onCCallStateChange, data:" + JSON.stringify(data));
- };
- // 设置订阅参数,指定卡槽ID
- let options: observer.ObserverOptions = {
- slotId: 0
- };
-
- try {
- // 监听运营商通话状态(指定卡槽)
- observer.onCCallStateChange(callback, options);
- // 监听运营商通话状态(不指定卡槽)
- observer.onCCallStateChange(callback);
- } catch (err) {
- console.error(`observer.onCCallStateChange failed: ${JSON.stringify(err)}`);
- }
offCCallStateChange(callback?: Callback<CCallStateInfo>): void
取消订阅运营商通话状态变化事件并获取通话号码,使用callback方式作为异步方法。
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力:SystemCapability.Telephony.StateRegistry
需要权限:ohos.permission.MANAGE_CALL_FOR_DEVICES
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<CCallStateInfo> | 否 | 回调函数,返回通话状态信息对象。 应用可获取到CCallStateInfo。 不传入此参数时,取消所有运营商通话状态的监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied |
| 8800001 | Invalid parameter value. |
| 8800002 | Service connection failed. |
| 8800003 | System internal error. |
| 8800999 | Unknown error. |
示例:
- import { observer } from '@kit.TelephonyKit';
-
- let callback: (data: observer.CCallStateInfo) => void = (data: observer.CCallStateInfo) => {
- console.info("onCCallStateChange, data:" + JSON.stringify(data));
- }
-
- observer.offCCallStateChange(callback);
- observer.offCCallStateChange();
onCommunicationStateChange(callback: Callback<boolean>, options?:ObserverOptions): void
订阅5A网络状态变化事件,使用callback异步回调。
起始版本: 26.0.0
模型约束: 此接口仅可在Stage模型下使用。
系统能力:SystemCapability.Telephony.StateRegistry
需要权限:ohos.permission.GET_NETWORK_INFO
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<boolean> | 是 | 回调函数。返回true表示5A状态为使能态;返回false表示5A状态为非使能态。 |
| options | ObserverOptions | 否 | 电话相关事件订阅参数可选项,指定事件订阅的卡槽ID,默认为当前默认数据卡槽ID。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
示例:
- // 设置订阅参数,指定卡槽ID
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- // 定义5A网络状态变化回调
- let callback: Callback<boolean> = (isCommunicationStateOn: boolean) => {
- console.info(`communicationStateChanged ${JSON.stringify(isCommunicationStateOn)}`);
- }
- try {
- // 订阅5A网络状态变化事件
- observer.onCommunicationStateChange(callback, options);
- } catch (err) {
- console.error(`observer.onCommunicationStateChange failed: ${JSON.stringify(err)}`);
- }
offCommunicationStateChange(callback: Callback<boolean>, options?:ObserverOptions): void
取消订阅5A网络状态变化事件,使用callback方式作为异步方法。
起始版本: 26.0.0
模型约束: 此接口仅可在Stage模型下使用。
系统能力:SystemCapability.Telephony.StateRegistry
需要权限:ohos.permission.GET_NETWORK_INFO
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | Callback<boolean> | 是 | 回调函数。返回true表示5A状态为使能态;返回false表示5A状态为非使能态。 |
| options | ObserverOptions | 否 | 电话相关事件订阅参数可选项,指定事件订阅的卡槽ID,默认为当前默认数据卡槽ID。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和电话子系统错误码。
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
示例:
- let options: observer.ObserverOptions = {
- slotId: 0
- }
- let callback: Callback<boolean> = (isCommunicationStateOn: boolean) => {
- console.info(`communicationStateChanged ${JSON.stringify(isCommunicationStateOn)}`);
- }
- observer.onCommunicationStateChange(callback, options);
- observer.offCommunicationStateChange(callback, options);
SIM卡锁类型。
系统能力:SystemCapability.Telephony.StateRegistry
| 名称 | 值 | 说明 |
|---|---|---|
| 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锁。 |
SIM卡类型和状态。
系统能力:SystemCapability.Telephony.StateRegistry
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| type | CardType | 否 | 否 | SIM卡类型。 |
| state | SimState | 否 | 否 | SIM卡状态。 |
| reason8+ | LockReason | 否 | 否 | SIM卡锁类型。 |
通话状态相关信息。
系统能力:SystemCapability.Telephony.StateRegistry
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| state | CallState | 否 | 否 | 通话状态。 |
| number | string | 否 | 否 | 电话号码。受系统权限管控,仅面向系统应用开放,三方应用无法获取。 |
通话状态相关信息。
系统能力:SystemCapability.Telephony.StateRegistry
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| state | CCallState | 否 | 否 | 通话状态。 |
| teleNumber | string | 否 | 否 | 电话号码。 |
数据连接状态相关信息。
系统能力:SystemCapability.Telephony.StateRegistry
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| state | DataConnectState | 否 | 否 | 数据连接状态。 |
| network | RatType | 否 | 否 | 网络类型。 |
电话相关事件订阅参数可选项。
系统能力:SystemCapability.Telephony.StateRegistry
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| slotId | number | 否 | 否 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |