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
    +关注

    关注

    30

    文章

    3868

    浏览量

    19022
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    IR900拨号电信4G专网卡遇到的问题及解决方法

    IR900拨号电信4G专网卡遇到问题及解决方法:目前在使用IR900(包括IR912L-TL00和915L-TL00)时,若遇到使用电信4G专网卡拨号拨不上的时候,可参照以下解决方法:网络-拨号接口
    发表于 08-07 07:13

    IAP升级跳转APP跳转Boot失败了怎么解决?

    使用的MCU是STM32U535RC ,V6 编译器 跳转实现的功能如下 /** *@brief直接跳转到 Boot 程序 */ void LibJumpToBoot(UINT32
    发表于 07-21 06:15

    迅为RK3568开发板基本工程目录-OpenHarmony APP工程结构

    在进行 OpenHarmony 应用/服务开发前,我们应该掌握 OpenHarmony 应用/服务的逻辑结构。 OpenHarmony 应用/服务发布形态为 APP Pack
    发表于 07-07 15:04

    cybt413061连接HFP时,拨号操作未启动是怎么回事?

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

    树莓派遇上ChatGPT,魔法热线就此诞生!

    尽管这种电话在几十年前就已过时,但许多人都对旋转拨号电话记忆犹新。这些旧电话,其实可以被改造成一个ChatGPT热线。这个由PolluxLabs开发的项目,让你可以将一部复古的旋转拨号电话连接到树莓
    的头像 发表于 04-13 09:04 ?4044次阅读
    树莓派遇上ChatGPT,魔法热线就此诞生!

    QSPI启动模式EMMC跳转失败的原因?

    失败了: 4. 我使用的 emmc burn 命令如下: 一个。使用串口模式,烧录工具烧录 QSPI,然后写入 FIP。S32 位于 EMMC 0 地址; b.使用串行引导(sw3 拨号到 emmc
    发表于 04-02 08:07

    OpenHarmony5.0系统怎么去除锁屏直接进入界面?教你2步搞定

    本文介绍在OpenHarmony5.0Release操作系统下,去除锁屏开机后直接进入界面的方法。触觉智能PurplePiOH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,1TOPS算力NPU
    的头像 发表于 03-12 18:51 ?638次阅读
    <b class='flag-5'>OpenHarmony</b>5.0系统怎么去除锁屏直接进入<b class='flag-5'>界面</b>?教你2步搞定

    蜂鸟板上Openharmony系统跑QT程序

    将QT程序放到Openharmony系统上跑,可以运行,但是会被覆盖掉。(用的网盘里面的install,支持QT组件的版本)。 运行情况是,在终端运行QT程序,可以正常运行出来,但是触摸屏幕后,会被Openharmony操作界面
    发表于 02-26 13:04

    USB PPP拨号上网,看这篇!

    今天一起来看看,如何使用PPP拨号的方式快速实现USB上网。 一、Windows下PPP拨号 1.1 配置标准调制解调器 1)选择COM口 具体操作如下: 打开控制面板—>电话和调制解调器
    的头像 发表于 01-08 18:24 ?683次阅读
    USB PPP<b class='flag-5'>拨号</b>上网,看这篇!

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    Nodepool、HMrouter和DataCache 三大解决方案,并上架OpenHarmony开源社区分,分别针对应用页面滑动、跳转、首页冷启动等关键性能场景提供高效易用的工具,助力伙伴和开发者打造
    发表于 01-02 18:00

    OpenHarmony程序分析框架论文入选ICSE 2025

      近日,ICSE 2025软件工程实践Track放榜,面向OpenAtom OpenHarmony(以下简称“OpenHarmony”)的ArkTS程序分析基础框架--方舟程序分析器(论文题目为
    的头像 发表于 01-02 13:41 ?1322次阅读
    <b class='flag-5'>OpenHarmony</b>程序分析框架论文入选ICSE 2025

    第三届OpenHarmony技术大会星光璀璨、致谢OpenHarmony社区贡献者

    10月12日,在上海举办的第三届OpenHarmony技术大会上,32家高校OpenHarmony技术俱乐部璀璨亮相,30家高校OpenHarmony开发者协会盛大启幕。还分别致谢了年度星光TSG
    的头像 发表于 10-21 14:10 ?646次阅读

    OpenHarmony年度技术俱乐部、个人及活动评选结果公示

    2024年度技术俱乐部评选活动已经圆满结束。在此,OpenHarmony项目群技术指导委员会(TSC)对所有参与者的积极参与和辛勤付出表示感谢。经过严格的评选和审核,现将名单予以公示: 评选
    的头像 发表于 10-05 08:07 ?690次阅读

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

    1、程序简介该程序是基于OpenHarmony标准系统编写的UI应用类:HelloOpenHarmony。本案例是基于API9接口开发。本案例已在OpenHarmony凌蒙派-RK3568开发
    的头像 发表于 09-15 08:09 ?959次阅读
    基于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