首页 > 其他分享 >鸿蒙开发电话服务:【@ohos.telephony.observer (observer)】

鸿蒙开发电话服务:【@ohos.telephony.observer (observer)】

时间:2024-06-14 22:32:48浏览次数:12  
标签:订阅 off observer callback 卡槽 telephony ohos data

observer

说明:

本模块首批接口从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

参数:

参数名类型必填说明
typestring网络状态变化事件
callbackCallback<[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

参数:

参数名类型必填说明
typestring网络状态变化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<[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

参数:

参数名类型必填说明
typestring网络状态变化事件
callbackCallback<[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<Array>): void;

订阅信号状态变化事件,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.StateRegistry

参数:

参数名类型必填说明
typestring信号状态变化事件
callbackCallback<Array<[SignalInformation]>>回调函数。参考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<Array>): void;

订阅指定卡槽位的信号状态变化事件,使用callback方式作为异步方法。

系统能力:SystemCapability.Telephony.StateRegistry

参数:

参数名类型必填说明
typestring信号状态变化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<Array<[SignalInformation]>>回调函数。参考radio的[SignalInformation]

示例:

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

observer.off(‘signalInfoChange’)

off(type: ‘signalInfoChange’, callback?: Callback<Array>): void;

取消订阅信号状态变化事件,使用callback方式作为异步方法。

说明:

可以指定传入on中的callback取消一个订阅,也可以不指定callback清空所有订阅。

系统能力:SystemCapability.Telephony.StateRegistry

参数:

参数名类型必填说明
typestring信号状态变化事件
callbackCallback<Array<[SignalInformation]>>回调函数。参考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

参数:

参数名类型必填说明
typestring通话状态变化事件
callbackCallback<{ 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

参数:

参数名类型必填说明
typestring通话状态变化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<{ 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

参数:

参数名类型必填说明
typestring通话状态变化事件
callbackCallback<{ 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

参数:

参数名类型必填说明
typestring蜂窝数据链路连接状态事件
callbackCallback<{ 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

参数:

参数名类型必填说明
typestring蜂窝数据链路连接状态事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<{ 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

参数:

参数名类型必填说明
typestring蜂窝数据链路连接状态事件
callbackCallback<{ 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

参数:

参数名类型必填说明
typestring蜂窝数据业务的上下行数据流状态状态事件
callbackCallback<[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

参数:

参数名类型必填说明
typestring蜂窝数据业务的上下行数据流状态事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<[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

参数:

参数名类型必填说明
typestring蜂窝数据业务的上下行数据流状态事件
callbackCallback<[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

参数:

参数名类型必填说明
typestringsim状态更改事件
callbackCallback<[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

参数:

参数名类型必填说明
typestringsim状态更改事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback<[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

参数:

参数名类型必填说明
typestringsim状态更改事件
callbackCallback<[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_NONE0无锁。
SIM_PIN1PIN锁。
SIM_PUK2PUK锁。
SIM_PN_PIN3网络PIN锁。
SIM_PN_PUK4网络PUK锁。
SIM_PU_PIN5子网PIN锁。
SIM_PU_PUK6子网PUK锁。
SIM_PP_PIN7服务提供商PIN锁。
SIM_PP_PUK8服务提供商PUK锁。
SIM_PC_PIN9组织PIN锁。
SIM_PC_PUK10组织PUK锁。
SIM_SIM_PIN11SIM PIN锁。
SIM_SIM_PUK12SIM PUK锁。

SimStateData7+

SIM卡类型和状态。

系统能力:以下各项对应的系统能力均为SystemCapability.Telephony.StateRegistry。

名称类型说明
type[CardType]SIM卡类型,参考sim的[CardType]
state[SimState]SIM卡状态,参考sim的[SimState]
reason8+[LockReason]SIM卡锁类型。

标签:订阅,off,observer,callback,卡槽,telephony,ohos,data
From: https://blog.csdn.net/2301_76813281/article/details/139690980

相关文章

  • 鸿蒙开发文件管理:【@ohos.securityLabel (数据标签)】
    数据标签该模块提供文件数据安全等级的相关功能:向应用程序提供查询、设置文件数据安全等级的JS接口。 说明: 本模块首批接口从APIversion9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。导入模块importsecurityLabelfrom'@ohos.securityLabe......
  • 报错:ResizeObserver loop limit exceeded的处理方法(学习自用)
    报错:ResizeObserverlooplimitexceeded处理方法:在main.js添加://从elementui中引出TableimportElementUI,{Table}from'element-ui'//处理table宽度报错的问题constfixElTableErr=table=>{constoldResizeListener=table.methods.resizeListenertabl......
  • 鸿蒙开发接口数据管理:【@ohos.data.rdb (关系型数据库)】
    关系型数据库关系型数据库(RelationalDatabase,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。该模块提......
  • HarmonyOS实战开发:@ohos.pluginComponent (插件组件管理器)
    用于给插件组件的使用者请求组件与数据,使用者发送组件模板和数据。如需实现插件模板的显示,请参考PluginComponent。说明:本模块首批接口从APIVersion8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。导入模块importpluginComponentManagerfrom......
  • HarmonyOS实战开发:@ohos.router (页面路由)
    本模块提供通过不同的url访问不同的页面,包括跳转到应用内的指定页面、同应用内的某个页面替换当前页面、返回上一页面或指定的页面等。说明本模块首批接口从APIversion8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。页面路由需要在页面渲染完成之后......
  • HarmonyOS实战开发:@ohos.promptAction (弹窗)
    创建并显示文本提示框、对话框和操作菜单。说明:本模块首批接口从APIversion9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。该模块不支持在UIAbility的文件声明处使用,即不能在UIAbility的生命周期中调用,需要在创建组件实例后使用。本模块功能依赖UI的......
  • IntersectionObserver的简单使用
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 处理报错 ResizeObserver loop completed with undelivered notifications.
    //处理报错ResizeObserverloopcompletedwithundeliverednotifications.exportconsthandlerResizeObserverError=()=>{constdebounce=(callback:(...args:any[])=>void,delay:number)=>{lettid:any;returnfunction(...args:an......
  • 解决ERROR ResizeObserver loop completed with undelivered notifications.
    该报错虽然不影响项目运行,但是影响开发效率,总是弹出报错的黑框很烦人该报错原因:newResizeObserver包裹的方法,在布局发生变化时,不支持每帧都调用解决方法:用window.requestAnimationFrame包裹回调函数在App.vue/main.js中加入以下这段代码即可解决://app.vue写在script......
  • VUE项目忽略ResizeObserver loop completed with undelivered notifications错误
    忽略"ResizeObserverlooplimitexceeded"和"ResizeObserverloopcompletedwithundeliverednotifications."两种错误。向vue.config.js中添加以下代码:module.exports=defineConfig({...devServer:{client:{overlay:{warnings:fa......