HarmonyOS NEXT实战:拨打电话

简介: 本课程介绍如何在HarmonyOS SDK中使用Telephony Kit实现拨打电话功能。通过CallPhoneDemoPage示例,讲解如何输入电话号码并调用makeCall接口拨号,涉及call模块的使用及设备通话能力检测。

HarmonyOS Next实战##HarmonyOS SDK应用服务##教育

目标:输入电话号码,并拨打电话。

知识点:
Telephony Kit(蜂窝通信服务)提供一系列API帮助开发者开发通讯类应用,包括:

  • call模块(拨打电话):系统应用可以直接拨打电话,在应用界面显示通话;三方应用可以拉起系统电话应用,跳转至拨号界面,从而实现拨打电话的功能,具体可参考拨打电话开发指导。除此之外,应用还可以通过call模块,实现格式化电话号码、判断是否紧急号码等功能,详情请参考@ohos.telephony.call API参考。
  • sms模块(短信服务):应用可以实现创建、发送短信消息的功能,具体可参考发送短信开发指导。除此之外,应用还可以实现获取、设置短信服务中心地址,和检查当前设备是否具备短信发送和接收能力等功能,详情请参考@ohos.telephony.sms API参考。
  • radio模块(网络搜索):应用可以调用API获取当前注册网络名称、网络服务状态以及信号强度相关信息,详情请参考@ohos.telephony.radio API参考。
  • data模块(蜂窝数据):蜂窝数据是无线通讯技术标准的一种,从数据的传输到交换都采用分组技术(Packet Switch),能够为移动设备提供话音、数据、视频图像等业务,经常用于支持用户在智能设备上使用应用程序,以及在移动网络上浏览网页,详情请参考@ohos.telephony.data API参考。
  • sim模块(SIM卡管理):应用可以调用API获取SIM卡相关信息,如服务提供商、ISO(International Organization for Standardization,国际标准化组织)国家码、归属PLMN(Public Land Mobile Network,公共陆地移动网络)号等,详情请参考@ohos.telephony.sim API参考。

使用makeCall拨打电话

  1. 导入call和observer模块。
  2. 调用hasVoiceCapability,确认当前设备是否支持拨号。
  3. 调用makeCall接口,跳转到拨号界面并显示待拨号的号码。

实战:CallPhoneDemoPage

import {
    call, observer } from '@kit.TelephonyKit';
import {
    BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct CallPhoneDemoPage {
   
  @State message: string = 'Hello World';
  @State phone: string = ''

  build() {
   
    Column({
    space: 10 }) {
   
      Text('拨打电话Demo')
      TextInput({
    placeholder: '请输入要拨打的电话' })
        .type(InputType.PhoneNumber)
        .onChange((value) => {
   
          this.phone = value
        })
      Button('拨号')
        .onClick(() => {
   
          // 调用查询能力接口
          let isSupport = call.hasVoiceCapability();
          if (isSupport) {
   
            // 如果设备支持呼叫能力,则继续跳转到拨号界面,并显示拨号的号码
            call.makeCall(this.phone, (err: BusinessError) => {
   
              if (!err) {
   
                console.log("make call success.");
              } else {
   
                console.log("make call fail, err is:" + JSON.stringify(err));
              }
            });

            // 订阅通话业务状态变化(可选)
            class SlotId {
   
              slotId: number = 0
            }

            class CallStateCallback {
   
              state: call.CallState = call.CallState.CALL_STATE_UNKNOWN;
              number: string = "";
            }

            let slotId: SlotId = {
    slotId: 0 }
            observer.on("callStateChange", slotId, (data: CallStateCallback) => {
   
              console.log("call state change, data is:" + JSON.stringify(data));
            });
          }
        })
    }
    .height('100%')
    .width('100%')
    .padding({
    left: 20, right: 20 })
  }
}
目录
相关文章
|
4月前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
563 61
|
5月前
|
开发者 容器
鸿蒙应用开发从入门到实战(十四):ArkUI组件Column&Row&线性布局
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Column和Row组件的使用以及线性布局的方法。
424 12
|
5月前
|
API 数据处理
鸿蒙应用开发从入门到实战(十三):ArkUI组件Slider&Progress
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解滑块Slider和进度条Progress组件的使用。
245 1
|
5月前
|
JavaScript 开发者 索引
鸿蒙应用开发从入门到实战(九):ArkTS渲染控制
ArkTS拓展了TypeScript,可以结合ArkUI进行渲染控制,是的界面设计具有可编程性。本文简要描述鸿蒙应用开发中的条件渲染和循环渲染。
248 5
|
4月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
452 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
4月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
433 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
4月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
878 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
5月前
|
数据安全/隐私保护 开发者
鸿蒙应用开发从入门到实战(十一):ArkUI组件Text&TextInput
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解文本组件Text和TextInput的使用。
378 3
|
4月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
233 0
|
5月前
|
存储 缓存 5G
鸿蒙 HarmonyOS NEXT端云一体化开发-云存储篇
本文介绍用户登录后获取昵称、头像的方法,包括通过云端API和AppStorage两种方式,并实现上传头像至云存储及更新用户信息。同时解决图片缓存问题,添加上传进度提示,支持自动登录判断,提升用户体验。
235 1

热门文章

最新文章