observer
说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]点击或者复制转到。
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import observer from '@ohos.telephony.observer'
observer.on('networkStateChange')
on(type: 'networkStateChange', callback: Callback): void;
订阅网络状态变化事件,使用callback方式作为异步方法。
需要权限 :ohos.permission.GET_NETWORK_INFO
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 网络状态变化事件 |
callback | Callback<[NetworkState]> | 是 | 回调函数。参考radio的[NetworkState] |
示例:
observer.on('networkStateChange'
data = >{
console.log("on networkStateChange, data:" + JSON.stringify(data));
});
observer.on('networkStateChange')
on(type: 'networkStateChange', options: { slotId: number }, callback: Callback): void;
订阅指定卡槽位的网络状态变化事件,使用callback方式作为异步方法。
需要权限 :ohos.permission.GET_NETWORK_INFO
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 网络状态变化事件 |
slotId | number | 是 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |
callback | Callback<[NetworkState]> | 是 | 回调函数。参考radio的[NetworkState] |
示例:
observer.on('networkStateChange'
{slotId: 0}, data = >{
console.log("on networkStateChange, data:" + JSON.stringify(data));
});
observer.off('networkStateChange')
off(type: 'networkStateChange', callback?: Callback): void;
取消订阅网络状态变化事件,使用callback方式作为异步方法。
需要权限 :ohos.permission.GET_NETWORK_INFO
说明:
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 网络状态变化事件 |
callback | Callback<[NetworkState]> | 否 | 回调函数。参考radio的[NetworkState] |
示例:
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')
on(type: 'signalInfoChange', callback: Callback>): void;
订阅信号状态变化事件,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 信号状态变化事件 |
callback | Callback> | 是 | 回调函数。参考radio的[SignalInformation] |
示例:
observer.on('signalInfoChange'
data = >{
console.log("on signalInfoChange, data:" + JSON.stringify(data));
});
observer.on('signalInfoChange')
on(type: 'signalInfoChange', options: { slotId: number }, callback: Callback>): void;
订阅指定卡槽位的信号状态变化事件,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 信号状态变化事件 |
slotId | number | 是 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |
callback | Callback> | 是 | 回调函数。参考radio的[SignalInformation] |
示例:
observer.on('signalInfoChange'
{slotId: 0}, data = >{
console.log("on signalInfoChange, data:" + JSON.stringify(data));
});
observer.off('signalInfoChange')
off(type: 'signalInfoChange', callback?: Callback>): void;
取消订阅信号状态变化事件,使用callback方式作为异步方法。
说明:
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 信号状态变化事件 |
callback | Callback> | 否 | 回调函数。参考radio的[SignalInformation] |
示例:
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');
observer.on('callStateChange')
on(type: 'callStateChange', callback: Callback<{ state: CallState, number: string }>): void;
订阅通话状态变化事件,使用callback方式作为异步方法。
需要权限 :ohos.permission.READ_CALL_LOG
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 通话状态变化事件 |
callback | Callback<{ state: [CallState], number: string }> | 是 | 回调函数,参考call的[CallState] number:电话号码 |
示例:
observer.on('callStateChange'
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;
订阅通话状态变化事件,使用callback方式作为异步方法。
需要权限 :ohos.permission.READ_CALL_LOG
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 通话状态变化事件 |
slotId | number | 是 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |
callback | Callback<{ state: [CallState], number: string }> | 是 | 回调函数,参考call的[CallState] number:电话号码 |
示例:
observer.on('callStateChange'
{slotId: 0}, value = >{
console.log("on callStateChange, state:" + value.state + ", number:" + value.number);
});
observer.off('callStateChange')
off(type: 'callStateChange', callback?: Callback<{ state: CallState, number: string }>): void;
取消订阅通话状态变化事件,使用callback方式作为异步方法。
需要权限 :ohos.permission.READ_CALL_LOG
说明:
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 通话状态变化事件 |
callback | Callback<{ state: [CallState], number: string }> | 否 | 回调函数,参考call的[CallState] number:电话号码 |
示例:
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');
observer.on('cellularDataConnectionStateChange')7+
on(type: 'cellularDataConnectionStateChange', callback: Callback<{ state: DataConnectState, network: RatType}>): void;
订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 蜂窝数据链路连接状态事件 |
callback | Callback<{ state: [DataConnectState], network: [RatType]}> | 是 | 回调函数,参考data的[DataConnectState],radio的[RadioTechnology]。 |
示例:
observer.on('cellularDataConnectionStateChange'
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;
订阅指定卡槽位的蜂窝数据链路连接状态,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 蜂窝数据链路连接状态事件 |
slotId | number | 是 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |
callback | Callback<{ state: [DataConnectState], network: [RatType] }> | 是 | 回调函数,参考data的[DataConnectState],radio的[RadioTechnology] |
示例:
observer.on('cellularDataConnectionStateChange'
{slotId: 0}, 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;
移除订阅蜂窝数据链路连接状态,使用callback方式作为异步方法。
说明:
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 蜂窝数据链路连接状态事件 |
callback | Callback<{ state: [DataConnectState], network: [RatType] }> | 否 | 回调函数,参考data的[DataConnectState],radio的[RadioTechnology]。 |
示例:
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');
observer.on('cellularDataFlowChange')7+
on(type: 'cellularDataFlowChange', callback: Callback): void;
订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 蜂窝数据业务的上下行数据流状态状态事件 |
callback | Callback<[DataFlowType]> | 是 | 回调函数,参考data的[DataFlowType]。 |
示例:
observer.on('cellularDataFlowChange'
data = >{
console.log("on networkStateChange, data:" + JSON.stringify(data));
});
observer.on('cellularDataFlowChange')7+
on(type: 'cellularDataFlowChange', options: { slotId: number }, callback: Callback): void;
订阅指定卡槽位的蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 蜂窝数据业务的上下行数据流状态事件 |
slotId | number | 是 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |
callback | Callback<[DataFlowType]> | 是 | 回调函数,参考data的[DataFlowType]。 |
示例:
observer.on('cellularDataFlowChange'
{slotId: 0}, data = >{
console.log("on cellularDataFlowChange, data:" + JSON.stringify(data));
});
observer.off('cellularDataFlowChange')7+
off(type: 'cellularDataFlowChange', callback?: Callback): void;
移除订阅蜂窝数据业务的上下行数据流状态,使用callback方式作为异步方法。
说明:
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 蜂窝数据业务的上下行数据流状态事件 |
callback | Callback<[DataFlowType]> | 否 | 回调函数,参考data的[DataFlowType]。 |
示例:
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');
observer.on('simStateChange')7+
on(type: 'simStateChange', callback: Callback): void;
订阅sim状态更改事件,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | sim状态更改事件 |
callback | Callback<[SimStateData]> | 是 | 回调函数。 |
示例:
observer.on('simStateChange'
data = >{
console.log("on simStateChange, data:" + JSON.stringify(data));
});
observer.on('simStateChange')7+
on(type: 'simStateChange', options: { slotId: number }, callback: Callback): void;
订阅指定卡槽位的sim状态更改事件,使用callback方式作为异步方法。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | sim状态更改事件 |
slotId | number | 是 | 卡槽ID。 - 0:卡槽1 - 1:卡槽2 |
callback | Callback<[SimStateData]> | 是 | 回调函数。 |
示例:
observer.on('simStateChange'
{slotId: 0}, data = >{
console.log("on simStateChange, data:" + JSON.stringify(data));
});
observer.off('simStateChange')7+
off(type: 'simStateChange', callback?: Callback): void;
移除订阅sim状态更改事件,使用callback方式作为异步方法。
说明:
可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。
系统能力 :SystemCapability.Telephony.StateRegistry
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | sim状态更改事件 |
callback | Callback<[SimStateData]> | 否 | 回调函数。 |
示例:
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');
LockReason8+
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锁。
|
SimStateData7+
SIM卡类型和状态。
系统能力 :以下各项对应的系统能力均为SystemCapability.Telephony.StateRegistry。
名称 | 类型 | 说明 |
---|---|---|
type | [CardType] | SIM卡类型,参考sim的[CardType] |
state | [SimState] | SIM卡状态,参考sim的[SimState] |
reason8+ | [LockReason] | SIM卡锁类型。 |