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

    文章

    3713

    浏览量

    16251
收藏 人收藏

    评论

    相关推荐

    基于ArkTS语言的OpenHarmony APP应用开发:HelloOpenharmony

    1、程序简介该程序是基于OpenHarmony标准系统编写的UI应用类:HelloOpenHarmony。本案例是基于API9接口开发。本案例已在OpenHarmony凌蒙派-RK3568开发
    的头像 发表于 09-15 08:09 369次阅读
    基于ArkTS语言的<b class='flag-5'>OpenHarmony</b> APP应用开发:Hello<b class='flag-5'>Openharmony</b>

    基于ArkTS语言的OpenHarmony APP应用开发:HelloOpenharmony

    3.0.0.993\\\\bin),如下所示: 4.2、创建工程 点击“Create Project”按钮,如下所示: 弹出“Create Project”界面,选择“OpenHarmony”,再选
    发表于 09-14 12:47

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

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

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

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

    鸿蒙Ability Kit(程序框架服务)【Ability内页面间的跳转

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 06-03 20:43 296次阅读
    鸿蒙Ability Kit(程序框架服务)【Ability内页面间的<b class='flag-5'>跳转</b>】

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

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

    cybt413061连接HFP时,拨号操作未启动的原因?

    请就以下几点提出建议: 1. 启动拨号时,我们正在连接 HFP 配置文件并拨号,然后断开 HFP 配置文件。 在这里,我们遇到的问题是,当发送拨号命令时,HFP 被连接,之后拨号没有启
    发表于 05-20 08:05

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

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

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

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

    YouTube Premium新功能“精彩部分跳转”上线,用户喜好预测跳转功能亮相

    这项服务基于AI技术和用户数据分析,能够准确预测用户可能感兴趣的视频片段,并直接跳转至最精彩的部分。自今年3月起,YouTube已开始进行此功能的测试,最初仅向美国的部分高级用户开放,而如今所有YouTube高级会员均可在youtube.com/new上试用此功能。
    的头像 发表于 05-06 16:25 929次阅读

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

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

    浅谈兼容 OpenHarmony 的 Flutter

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

    Qt For OpenHarmony图形化的进展突破

    Qt 适配 OpenHarmony 意义 Qt 是一个 C++ 跨平台开发框架,主要用于开发图形用户界面(Graphical User Interface,GUI)程序,具有跨平台类库(支持目前
    的头像 发表于 02-02 14:29 1484次阅读
    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 1258次阅读