同步操作将从 OpenHarmony/telephony_call_manager 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
通话管理模块主要管理CS(Circuit Switch,电路交换)、IMS(IP Multimedia Subsystem,IP多媒体子系统)和OTT(over the top,OTT解决方案)三种类型的通话,负责申请通话所需要的音视频资源,并处理多路通话时产生的各种冲突。通话管理主要分为UI交互、服务管理、系统通话管理、通话音频管理、通话视频管理和蓝牙通话管理六大模块,各模块简介如下:
其主要的结构及流程如下图所示:
/base/telephony/call_manager
├─ figures # Readme资源文件
├─ frameworks # 框架层目录
│ ├─ js # js相关代码
│ └─ native # native相关代码
├─ interfaces # 接口目录
│ ├─ innerkits # 部件间的内部接口
│ └─ kits # 对应用提供的接口(例如JS接口)
├─ sa_profile # 启动配置文件
├─ services # 服务内部代码
│ ├─ audio # 音频管理相关代码
│ ├─ bluetooth # 蓝牙通话相关代码
│ ├─ call # 通话业务相关代码
│ ├─ call_manager_service # 进程服务管理相关代码
│ ├─ call_report # 通话状态等信息上报相关代码
│ ├─ call_setting # 通话设置相关代码
│ ├─ telephony_interaction # 电话核心服务交互相关代码
│ └─ video # 视频管理相关代码
├─ test # 测试相关代码
│ ├─ fuzztest # 模糊测试相关代码
│ ├─ mock # 模拟测试相关代码
│ └─ unittest # 单元测试相关代码
└─ utils # 通用工具代码目录
表 1 通话管理对外提供的接口
function dial(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean>): void; |
表 2 拨号接口参数说明
表 3 options: DialOptions参数说明
完整的JS API说明以及实例代码请参考:拨打电话。
构造phoneNumber和options参数;
可以通过callback或者Promise的方式调用dial接口。
该接口为异步接口,相关执行结果会从callback中返回。
import call from "@ohos.telephony.call";
let phoneNumber = "12312312312";
// 调用接口【callback方式】
call.dial(phoneNumber, {extras: false}, (err, value) => {
if (err) {
// 接口调用失败,err非空
console.error(`failed to dial because ${err.message}`);
return;
}
// 接口调用成功,err为空
console.log(`success to dial: ${value}`);
});
// 调用接口【Promise方式】
let promise = call.dial(phoneNumber, {extras: false});
promise.then((value) => {
// 接口调用成功,此处可以实现成功场景分支代码。
console.log(`success to dial: ${value}`);
}).catch((err) => {
// 接口调用失败,此处可以实现失败场景分支代码。
console.error(`failed to dial because ${err.message}`);
});
telephony_call_manager
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。