harmony 鸿蒙@ohos.telephony.observer (Observer)

2022-08-09 浏览 (751)

@ohos.telephony.observer (Observer)

The observer module provides event subscription management functions. You can register or unregister an observer that listens for the following events: network status change, signal status change, call status change, cellular data connection status, uplink and downlink data flow status of cellular data services, and SIM status change.

NOTE

The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import observer from '@ohos.telephony.observer';

observer.on('networkStateChange')

on(type: 'networkStateChange', callback: Callback<NetworkState>): void;

Registers an observer for network status change events. This API uses an asynchronous callback to return the execution result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesNetwork status change event. This field has a fixed value of networkStateChange.
callbackCallback<NetworkState>YesCallback used to return the result. For details, see NetworkState.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

observer.on('networkStateChange', (data: observer.NetworkState) => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
});

observer.on('networkStateChange')

on(type: 'networkStateChange', options: { slotId: number }, callback: Callback<NetworkState>): void;

Registers an observer for network status change events of the SIM card in the specified slot. This API uses an asynchronous callback to return the execution result.

Required permission: ohos.permission.GET_NETWORK_INFO

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesNetwork status change event. This field has a fixed value of networkStateChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<NetworkState>YesCallback used to return the result. For details, see NetworkState.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('networkStateChange', id, (data: observer.NetworkState) => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
});

observer.off('networkStateChange')

off(type: 'networkStateChange', callback?: Callback<NetworkState>): void;

Unregisters the observer for network status change events. This API uses an asynchronous callback to return the execution result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesNetwork status change event. This field has a fixed value of networkStateChange.
callbackCallback<NetworkState>NoCallback used to return the result. For details, see NetworkState.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

let callback: (data: observer.NetworkState) => void = (data: observer.NetworkState) => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
}
observer.on('networkStateChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('networkStateChange', callback);
observer.off('networkStateChange');

observer.on('signalInfoChange')

on(type: 'signalInfoChange', callback: Callback<Array<SignalInformation>>): void;

Registers an observer for signal status change events. This API uses an asynchronous callback to return the execution result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesSignal status change event. This field has a fixed value of signalInfoChange.
callbackCallback<Array<SignalInformation>>YesCallback used to return the result. For details, see SignalInformation.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import radio from '@ohos.telephony.radio';

observer.on('signalInfoChange', (data: Array<radio.SignalInformation>) => {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
});

observer.on('signalInfoChange')

on(type: 'signalInfoChange', options: { slotId: number }, callback: Callback<Array<SignalInformation>>): void;

Registers an observer for signal status change events of the SIM card in the specified slot. This API uses an asynchronous callback to return the execution result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesSignal status change event. This field has a fixed value of signalInfoChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<Array<SignalInformation>>YesCallback used to return the result. For details, see SignalInformation.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import radio from '@ohos.telephony.radio';

class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('signalInfoChange', id, (data: Array<radio.SignalInformation>) => {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
});

observer.off('signalInfoChange')

off(type: 'signalInfoChange', callback?: Callback<Array<SignalInformation>>): void;

Unregisters the observer for signal status change events. This API uses an asynchronous callback to return the execution result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesSignal status change event. This field has a fixed value of signalInfoChange.
callbackCallback<Array<SignalInformation>>NoCallback used to return the result. For details, see SignalInformation.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import radio from '@ohos.telephony.radio';

let callback: (data: Array<radio.SignalInformation>) => void = (data: Array<radio.SignalInformation>) => {
    console.log("on signalInfoChange, data:" + JSON.stringify(data));
}
observer.on('signalInfoChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('signalInfoChange', callback);
observer.off('signalInfoChange');

observer.on('cellInfoChange')8+

on(type: 'cellInfoChange', callback: Callback<Array<CellInformation>>): void;

Registers an observer for cell information change events. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCell information change event. This field has a fixed value of cellInfoChange.
callbackCallback<Array<CellInformation>>YesCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import radio from '@ohos.telephony.radio';

observer.on('cellInfoChange', (data: Array<radio.CellInformation>) => {
    console.log("on cellInfoChange, data:" + JSON.stringify(data));
});

observer.on('cellInfoChange')8+

on(type: 'cellInfoChange', options: { slotId: number }, callback: Callback<Array<CellInformation>>): void;

Registers an observer for signal status change events of the SIM card in the specified slot. This API uses an asynchronous callback to return the execution result.

System API: This is a system API.

Required permissions: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCell information change event. This field has a fixed value of cellInfoChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<Array<CellInformation>>YesCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
201Permission denied.
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import radio from '@ohos.telephony.radio';

class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('cellInfoChange', id, (data: Array<radio.CellInformation>) => {
    console.log("on cellInfoChange, data:" + JSON.stringify(data));
});

observer.off('cellInfoChange')8+

off(type: 'cellInfoChange', callback?: Callback<Array<CellInformation>>): void;

Unregisters the observer for cell information change events. This API uses an asynchronous callback to return the result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System API: This is a system API.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCell information change event. This field has a fixed value of cellInfoChange.
callbackCallback<Array<CellInformation>>NoCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
202Non-system applications use system APIs.
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import radio from '@ohos.telephony.radio';

let callback: (data: Array<radio.CellInformation>) => void = (data: Array<radio.CellInformation>) => {
    console.log("on cellInfoChange, data:" + JSON.stringify(data));
}
observer.on('cellInfoChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('cellInfoChange', callback);
observer.off('cellInfoChange');

observer.on('callStateChange')

on(type: 'callStateChange', callback: Callback<{ state: CallState, number: string }>): void;

Registers an observer for call status change events. This API uses an asynchronous callback to return the execution result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCall status change event. This field has a fixed value of callStateChange.
callbackCallback<{ state: CallState, number: string }>YesCallback function. For details, see CallState in call.
number: phone number.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import call from '@ohos.telephony.call';

class Value {
    state: call.CallState = call.CallState.CALL_STATE_UNKNOWN
    number: string = ""
}
observer.on('callStateChange', (value: Value) => {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
});

observer.on('callStateChange')

on(type: 'callStateChange', options: { slotId: number }, callback: Callback<{ state:CallState, number: string }>): void;

Registers an observer for call status change events. This API uses an asynchronous callback to return the execution result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCall status change event. This field has a fixed value of callStateChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<{ state: CallState, number: string }>YesCallback function. For details, see CallState in call.
number: phone number.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import call from '@ohos.telephony.call';

class Value {
    state: call.CallState = call.CallState.CALL_STATE_UNKNOWN
    number: string = ""
}
class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('callStateChange', id, (value: Value) => {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
});

observer.off('callStateChange')

off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: string }>): void;

Unregisters the observer for call status change events. This API uses an asynchronous callback to return the execution result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCall status change event. This field has a fixed value of callStateChange.
callbackCallback<{ state: CallState, number: string }>NoCallback function. For details, see CallState in call.
number: phone number.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import call from '@ohos.telephony.call';

class Value {
    state: call.CallState = call.CallState.CALL_STATE_UNKNOWN
    number: string = ""
}
let callback: (value: Value) => void = (value: Value) => {
    console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
}
observer.on('callStateChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('callStateChange', callback);
observer.off('callStateChange');

observer.on('cellularDataConnectionStateChange')7+

on(type: 'cellularDataConnectionStateChange', callback: Callback<{ state: DataConnectState, network: RatType}>): void;

Registers an observer for connection status change events of the cellular data link. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCellular data connection status event. This field has a fixed value of cellularDataConnectionStateChange.
callbackCallback<{ state: DataConnectState, network: RatType }>YesCallback used to return the result. For details, see DataConnectState and RadioTechnology.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import data from '@ohos.telephony.data';
import radio from '@ohos.telephony.radio';

class Value {
    state: data.DataConnectState = data.DataConnectState.DATA_STATE_UNKNOWN
    network: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN
}
observer.on('cellularDataConnectionStateChange', (value: Value) => {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
});

observer.on('cellularDataConnectionStateChange')7+

on(type: 'cellularDataConnectionStateChange', options: { slotId: number }, callback: Callback<{ state: DataConnectState, network: RatType }>): void;

Registers an observer for connection status change events of the cellular data link over the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCellular data connection status event. This field has a fixed value of cellularDataConnectionStateChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<{ state: DataConnectState, network: RatType }>YesCallback used to return the result. For details, see DataConnectState and RadioTechnology.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import data from '@ohos.telephony.data';
import radio from '@ohos.telephony.radio';

class Value {
    state: data.DataConnectState = data.DataConnectState.DATA_STATE_UNKNOWN
    network: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN
}
class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('cellularDataConnectionStateChange', id, (value: Value) => {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
});

observer.off('cellularDataConnectionStateChange')7+

off(type: 'cellularDataConnectionStateChange', callback?: Callback<{ state: DataConnectState, network: RatType}>): void;

Unregisters the observer for connection status change events of the cellular data link. This API uses an asynchronous callback to return the result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCellular data connection status event. This field has a fixed value of cellularDataConnectionStateChange.
callbackCallback<{ state: DataConnectState, network: RatType }>NoCallback used to return the result. For details, see DataConnectState and RadioTechnology.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import data from '@ohos.telephony.data';
import radio from '@ohos.telephony.radio';

class Value {
    state: data.DataConnectState = data.DataConnectState.DATA_STATE_UNKNOWN
    network: radio.RadioTechnology = radio.RadioTechnology.RADIO_TECHNOLOGY_UNKNOWN
}
let callback: (value: Value) => void = (value: Value) => {
    console.log("on cellularDataConnectionStateChange, state:" + value.state + ", network:" + value.network);
}
observer.on('cellularDataConnectionStateChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('cellularDataConnectionStateChange', callback);
observer.off('cellularDataConnectionStateChange');

observer.on('cellularDataFlowChange')7+

on(type: 'cellularDataFlowChange', callback: Callback<DataFlowType>): void;

Registers an observer for the uplink and downlink data flow status change events of the cellular data service. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCellular data flow change event. This field has a fixed value of cellularDataFlowChange.
callbackCallback<DataFlowType>YesCallback used to return the result. For details, see DataFlowType.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import data from '@ohos.telephony.data';

observer.on('cellularDataFlowChange', (data: data.DataFlowType) => {
    console.log("on networkStateChange, data:" + JSON.stringify(data));
});

observer.on('cellularDataFlowChange')7+

on(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Callback<DataFlowType>): void;

Registers an observer for the uplink and downlink data flow status change events of the cellular data service on the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCellular data flow change event. This field has a fixed value of cellularDataFlowChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<DataFlowType>YesCallback used to return the result. For details, see DataFlowType.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import data from '@ohos.telephony.data';

class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('cellularDataFlowChange', id, (data: data.DataFlowType) => {
    console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
});

observer.off('cellularDataFlowChange')7+

off(type: 'cellularDataFlowChange', callback?: Callback<DataFlowType>): void;

Unregisters the observer for the uplink and downlink data flow status change events of the cellular data service. This API uses an asynchronous callback to return the result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesCellular data flow change event. This field has a fixed value of cellularDataFlowChange.
callbackCallback<DataFlowType>NoCallback used to return the result. For details, see DataFlowType.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

import data from '@ohos.telephony.data';

let callback: (data: data.DataFlowType) => void = (data: data.DataFlowType) => {
    console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
}
observer.on('cellularDataFlowChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('cellularDataFlowChange', callback);
observer.off('cellularDataFlowChange');

observer.on('simStateChange')7+

on(type: 'simStateChange', callback: Callback<SimStateData>): void;

Registers an observer for SIM card status change events. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesSIM status change event. This field has a fixed value of simStateChange.
callbackCallback<SimStateData>YesCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

observer.on('simStateChange', (data: observer.SimStateData) => {
    console.log("on simStateChange, data:" + JSON.stringify(data));
});

observer.on('simStateChange')7+

on(type: 'simStateChange', options: { slotId: number }, callback: Callback<SimStateData>): void;

Registers an observer for status change events of the SIM card in the specified slot. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesSIM status change event. This field has a fixed value of simStateChange.
slotIdnumberYesCard slot ID.
- 0: card slot 1
- 1: card slot 2
callbackCallback<SimStateData>YesCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

class SlotId {
    slotId: number = 0
}
let id: SlotId = {slotId: 0}
observer.on('simStateChange', id, (data: observer.SimStateData) => {
    console.log("on simStateChange, data:" + JSON.stringify(data));
});

observer.off('simStateChange')7+

off(type: 'simStateChange', callback?: Callback<SimStateData>): void;

Unregisters the observer for SIM card status change events. This API uses an asynchronous callback to return the result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesSIM status change event. This field has a fixed value of simStateChange.
callbackCallback<SimStateData>NoCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
401Parameter error.
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

let callback: (data: observer.SimStateData) => void = (data: observer.SimStateData) => {
    console.log("on simStateChange, data:" + JSON.stringify(data));
}
observer.on('simStateChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('simStateChange', callback);
observer.off('simStateChange');

observer.on('iccAccountInfoChange')10+

on(type: 'iccAccountInfoChange', callback: Callback<void>): void;

Registers an observer for account information change events of the SIM card. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesAccount information change event. This field has a fixed value of iccAccountInfoChange.
callbackCallback<void>YesCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

observer.on('iccAccountInfoChange', () => {
    console.log("on iccAccountInfoChange success");
});

observer.off('iccAccountInfoChange')10+

off(type: 'iccAccountInfoChange', callback?: Callback<void>): void;

Unregisters the observer for account information change events of the SIM card. This API uses an asynchronous callback to return the result.

NOTE

You can pass the callback of the on function if you want to cancel listening for a certain type of event. If you do not pass the callback, you will cancel listening for all events.

System capability: SystemCapability.Telephony.StateRegistry

Parameters

NameTypeMandatoryDescription
typestringYesAccount information change event. This field has a fixed value of iccAccountInfoChange.
callbackCallback<void>NoCallback used to return the result.

Error codes

For details about the following error codes, see Telephony Error Codes.

IDError Message
8300001Invalid parameter value.
8300002Operation failed. Cannot connect to service.
8300003System internal error.
8300999Unknown error code.

Example

let callback: () => void = () => {
    console.log("on iccAccountInfoChange success");
}
observer.on('iccAccountInfoChange', callback);
// You can pass the callback of the on method to cancel listening for a certain type of callback. If you do not pass the callback, you will cancel listening for all callbacks.
observer.off('iccAccountInfoChange', callback);
observer.off('iccAccountInfoChange');

LockReason8+

Enumerates SIM card lock types.

System capability: SystemCapability.Telephony.StateRegistry

NameValueDescription
SIM_NONE0No lock.
SIM_PIN1PIN lock.
SIM_PUK2PUK lock.
SIM_PN_PIN3Network PIN lock.
SIM_PN_PUK4Network PUK lock.
SIM_PU_PIN5Subnet PIN lock.
SIM_PU_PUK6Subnet PUK lock.
SIM_PP_PIN7Service provider PIN lock.
SIM_PP_PUK8Service provider PUK lock.
SIM_PC_PIN9Organization PIN lock.
SIM_PC_PUK10Organization PUK lock.
SIM_SIM_PIN11SIM PIN lock.
SIM_SIM_PUK12SIM PUK lock.

SimStateData7+

Enumerates SIM card types and states.

System capability: SystemCapability.Telephony.StateRegistry

NameTypeMandatoryDescription
typeCardTypeYesSIM card type.
stateSimStateYesSIM card state.
reason8+LockReasonYesSIM card lock type.

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/3610de5265fb4e1cbb8fd3f97517dbda