0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-15 09:18 次阅读

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

参数

参数名类型必填说明
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>): void;

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

系统能力 :SystemCapability.Telephony.StateRegistry

参数:

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

参数:

参数名类型必填说明
typestring信号状态变化事件
slotIdnumber卡槽ID。 - 0:卡槽1 - 1:卡槽2
callbackCallback>回调函数。参考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

参数:

参数名类型必填说明
typestring信号状态变化事件
callbackCallback>回调函数。参考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锁。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151344.png

SimStateData7+

SIM卡类型和状态。

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

名称类型说明
type[CardType]SIM卡类型,参考sim的[CardType]
state[SimState]SIM卡状态,参考sim的[SimState]
reason8+[LockReason]SIM卡锁类型。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1502

    浏览量

    62108
  • 电话
    +关注

    关注

    0

    文章

    135

    浏览量

    25825
  • 鸿蒙
    +关注

    关注

    57

    文章

    2363

    浏览量

    42885
收藏 人收藏

    评论

    相关推荐

    鸿蒙实战项目开发:【短信服务

    概述 本示例展示了电话服务中发送短信的功能。 样例展示 涉及OpenHarmony威廉希尔官方网站 特性 网络通信 难度级别 中级 基础信息 使用@ohos.telephony.sms接口展示了电话
    发表于 03-03 21:29

    基于鸿蒙Next模拟电话通讯录及电话拨打

    \'@ohos.telephony.observer\'; import { listData,dataType} from \"../common/phoneNumData\"
    发表于 08-27 15:24

    BLE Observer接收广播数据包函数在哪里体现的

    BLE Observer接收广播数据包函数在哪里体现的,有没有连接给个例程?
    发表于 03-09 14:39

    怎么实现手机作为Broadcaster,CC2541作为Observer

    请问:手机(ios或android )作为Broadcaster广播数据,CC2541作为Observer接受广播,我需要做些什么工作去实现。渴望大神指点迷津~
    发表于 03-17 09:43

    HarmonyOS API Version 7版本特性说明

    与设置。@ohos.telephony.data新增蜂窝数据相关接口。支持蜂窝网络连接状态、上下行状态,数据业务开关获取与设置。@ohos.telephony.observer新增电话服务
    发表于 11-30 15:19

    HarmonyOS API Version 7版本特性说明

    与设置。@ohos.telephony.data新增蜂窝数据相关接口。支持蜂窝网络连接状态、上下行状态,数据业务开关获取与设置。@ohos.telephony.observer新增电话服务
    发表于 12-01 10:35

    请问observer的底层原理是怎样的?

    RT,使用observer监听广播包,使用XX广播包去重FALSE,超时时间0来监听。但是产生一个疑问。原先一直使用的是RF_PHY的方式在39通道接收数据,如果用OBSERVER,是不是轮询
    发表于 08-01 06:32

    请问CH573的Observer示例代码能否显示广播消息?

    CH573的Observer示例代码中只显示广播设备MAC地址,怎么才能显示广播的消息内容?
    发表于 08-19 07:51

    请问observer如何获取广播包内容?

    目前使用observer只能得到扫码到的广播包的MAC地址,我想得到每个广播包的具体内容和以及每个包接收时的RSSI,我该如何处理??? 个人信息保护,已隐藏,希望得到邦族,非常感谢!!
    发表于 08-31 07:45

    #DAYU200# OpenHarmony跳转拨号界面

    的模块import call from '@ohos.telephony.call';import observer from '@ohos.telephony.observer';2.调用
    发表于 09-21 16:04

    HarmonyOS应用API-拨打电话

    '@ohos.telephony.observer';[]()[]()2.调用hasVoiceCapability()接口获取当前设备呼叫能力,如果支持继续下一步;如果不支持则无法发起呼叫。let isSupport
    发表于 10-14 09:45

    在DAYU200上实现OpenHarmony跳转拨号界面

    '@ohos.telephony.observer';2.调用hasVoiceCapability()接口获取当前设备呼叫能力,如果支持继续下一步;如果不支持则无法发起呼叫。// 调用查询能力接口let isSupport
    发表于 10-19 11:39

    Suunto observer手表使用手册(用户说明书)

    Suunto  observer手表使用手册(用户说明书) 2.2 Suunto腕上电脑以及干扰电磁干扰在高压电线、交通指示灯、轻轨、电车、电视、汽车发动机、电脑、一些马
    发表于 01-19 16:30 96次下载

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

    call模块提供呼叫管理功能,包括拨打电话、跳转到拨号界面、获取通话状态、格式化电话号码等。
    的头像 发表于 06-15 09:13 828次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发电话</b><b class='flag-5'>服务</b>:【@<b class='flag-5'>ohos.telephony</b>.call (拨打<b class='flag-5'>电话</b>)】

    鸿蒙开发电话服务ohos.telephony.sms之短信服务

    根据协议数据单元(PDU)和指定的短信协议创建短信实例,使用callback方式作为异步方法。
    的头像 发表于 06-17 15:57 607次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发电话</b><b class='flag-5'>服务</b>:<b class='flag-5'>ohos.telephony</b>.sms之短信<b class='flag-5'>服务</b>