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

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

3天内不再提示

OpenHarmony跳转拨号界面

ArkUI详解 2022-08-15 17:20 次阅读

OpenHarmony跳转拨号界面

当应用需要跳转到拨号界面,并显示拨号的号码时,大家就可以来看这篇文章,当开发者调用makeCall接口时,设备会自动跳转到拨号界面。和正常拨打电话一样,用户可以选择卡1或卡2拨出。

先来看一下实现的效果。

2

直接拨打电话需要系统权限ohos.permission.PLACE_CALL,建议应用使用makeCall(),跳转到拨号界面,并显示拨号的号码。下面开始正文。

接口说明

call模块为开发者提供呼叫管理功能。observer模块为开发者提供通话业务状态订阅和取消订阅功能。

call.hasVoiceCapability():能力获取,表示是否具有语音功能。

call.makeCall()跳转拨号界面,跳转到拨号界面,并显示拨号的号码。

observer.on(‘callStateChange’):订阅通话业务状态变化,ohos.permission.READ_CALL_LOG (获取通话号码需要该权限)

observer.off(‘callStateChange’):取消订阅通话业务状态变化.

开发步骤

1.import需要的模块。

// import需要的模块

import

call

from

'@ohos.telephony.call'

;

import

observer

from

'@ohos.telephony.observer'

;

2.调用hasVoiceCapability()接口获取当前设备呼叫能力,如果支持继续下一步;如果不支持则无法发起呼叫。

// 调用查询能力接口

let

isSupport

=

call

.

hasVoiceCapability

();

if

(

!

isSupport

) {

console

.

log

(

"not support voice capability, return."

);

return

;

}

3.跳转到拨号界面,并显示拨号的号码。

// 如果设备支持呼叫能力,则继续跳转到拨号界面,并显示拨号的号码

call

.

makeCall

(

"13xxxx"

, (

err

)

=>

{

if

(

!

err

) {

console

.

log

(

"make call success."

);

}

else

{

console

.

log

(

"make call fail, err is:"

+

JSON

.

stringify

(

err

));

}

});

4.(可选)订阅通话业务状态变化。

// 订阅通话业务状态变化(可选)

observer

.

on

(

"callStateChange"

, (

data

)

=>

{

console

.

log

(

"call state change, data is:"

+

JSON

.

stringify

(

data

));

});

5.取消订阅通话业务状态变。

// 取消订阅通话业务状态变

observer

.

off

(

"callStateChange"

, (

data

)

=>

{

console

.

log

(

"call state change, data is:"

+

JSON

.

stringify

(

data

));

});

最后附上完整代码:

/**

*

* @FileName : call

* @Author : 坚果

* @Time : 2022/8/15 08:20

* @Description : 文件描述

*/

// import需要的模块

import

call

from

'@ohos.telephony.call'

;

import

observer

from

'@ohos.telephony.observer'

;

@

Entry

@

Component

struct

CAllTest

{

build

(){

Column

(){

Button

(

"打电话"

).

width

(

200

).

height

(

80

) .

fontSize

(

30

).

fontColor

(

Color

.

Orange

).

onClick

(()

=>

{

// 调用查询能力接口

let

isSupport

=

call

.

hasVoiceCapability

();

if

(

!

isSupport

) {

console

.

info

(

" support voice capability, return"

);

return

;

}

// 如果设备支持呼叫能力,则继续跳转到拨号界面,并显示拨号的号码

call

.

makeCall

(

"17752170152"

, (

err

)

=>

{

if

(

!

err

) {

console

.

info

(

" make call success."

);

}

else

{

console

.

info

(

"make call fail, err is:"

+

JSON

.

stringify

(

err

));

}

});

})

}.

width

(

"100%"

).

height

(

"100%"

).

justifyContent

(

FlexAlign

.

Center

)

}

}

感谢大家的支持。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenHarmony
    +关注

    关注

    25

    文章

    3531

    浏览量

    15684
收藏 人收藏

    评论

    相关推荐

    4G卡插上无法正常拨号的解决办法

    ://192.168.2.1”,“用户名/密码”默认为:adm/123456。进入如下界面: 第三步:选择网络-拨号接口(Cellular),进入拨号参数配置界面 第三步:根据手机
    发表于 07-24 06:56

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

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

    鸿蒙原生应用元服务开发-WEB跨应用跳转

    ; // 判断链接是否为拨号链接 if (url.indexOf(\'tel://\') === 0) { // 跳转拨号界面 call.makeCall(url.substring(6
    发表于 05-27 15:06

    HarmonyOS开发案例:【UIAbility内和UIAbility间页面的跳转

    基于Stage模型下的UIAbility开发,实现UIAbility内和UIAbility间页面的跳转
    的头像 发表于 05-09 15:06 1036次阅读
    HarmonyOS开发案例:【UIAbility内和UIAbility间页面的<b class='flag-5'>跳转</b>】

    HarmonyOS开发案例:【Ability内页面间的跳转

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 05-09 10:39 380次阅读
    HarmonyOS开发案例:【Ability内页面间的<b class='flag-5'>跳转</b>】

    基于STM32G4的BOOT至APP跳转问题排查与实战指南

    这里实际上有3个工程,每个工程做跳转跳转地址不一样。这里不妨以从BOOT区跳往AAP1区为例,看看跳转前做的哪些准备工作。
    发表于 03-11 11:25 3180次阅读
    基于STM32G4的BOOT至APP<b class='flag-5'>跳转</b>问题排查与实战指南

    浅谈兼容 OpenHarmony 的 Flutter

    OpenHarmony SIG 组织在 Gitee 开源了兼容 OpenHarmony 的 Flutter。该组织主要用于孵化 OpenHarmony 相关的开源生态项目。     ▲ 仓库地址
    的头像 发表于 02-02 15:22 445次阅读
    浅谈兼容 <b class='flag-5'>OpenHarmony</b> 的 Flutter

    Qt For OpenHarmony图形化的进展突破

    Qt 适配 OpenHarmony 意义 Qt 是一个 C++ 跨平台开发框架,主要用于开发图形用户界面(Graphical User Interface,GUI)程序,具有跨平台类库(支持目前
    的头像 发表于 02-02 14:29 1073次阅读
    Qt For <b class='flag-5'>OpenHarmony</b>图形化的进展突破

    PSoC5.4在卸载程序所在cypress文件后,重新安装时会跳转到卸载界面,最后安装失败的原因?

    在卸载程序所在cypress文件后,重新安装时会跳转到卸载界面,最后安装失败。请问是什么原因?需要怎么解决吗?
    发表于 01-26 07:16

    Vim跳转技巧

    相对跳转用于在当前行的基础上向上或向下跳转一定的行数。可以在命令模式下输入:num命令,其中num可以是正数、负数。例如,要向上跳转5行,可以在命令模式下输入:+5,然后按下回车键即可。同样,要向下
    的头像 发表于 01-18 16:30 904次阅读

    OpenHarmony技术大会 | OpenHarmony技术俱乐部分论坛嘉宾金句

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 原文标题:OpenHarmony技术大会 | OpenHarmony技术俱乐部分论坛嘉宾金
    的头像 发表于 11-10 20:25 363次阅读

    消除“间隙”:力敏传感器如何推动新颖的HMI设计

    我们用来与系统或机器交互的控制装置已经发生了巨大变化;从起初电话机上的旋转拨号盘、开关,或用于开车门的实体钥匙,曾经粗陋的设备现已转变为更为时尚、直观的用户界面,让我们能够与机器无缝连接
    的头像 发表于 11-01 14:15 281次阅读
    消除“间隙”:力敏传感器如何推动新颖的HMI设计

    HarmonyOS 管理页面跳转及浏览记录导航

    拨号链接 if (url.indexOf(\'tel://\') === 0) { // 跳转拨号界面 call.makeCall(url.substring(6), (err) =>
    发表于 09-19 18:31

    Qt For OpenHarmony

    实现应用的迁移配置。 03► 技术难点分享 Qt本身是跨平台的框架,我们要把它跟OpenHarmony做移植,无非考虑几个问题:一是Qt应用程序的界面如何在OpenHarmony上进行显示
    发表于 09-15 15:39

    OpenHarmony社区运营报告(2023年8月)

    ”)发布了Beta2版本。OpenHarmony 4.0 Beta2在系统能力、应用框架、分布式通信、媒体功能、安全性等方面进行了全面升级。其中,ArkUI增强了界面组件能力,应用框架支持了ArkTS卡片
    的头像 发表于 09-11 21:10 569次阅读
    <b class='flag-5'>OpenHarmony</b>社区运营报告(2023年8月)