概述
本示例通过输入电话,进行电话拨打,及电话相关信息的显示。
样例展示
涉及OpenHarmony技术特性
网络通信
基础信息
拨打电话
介绍
本示例使用call相关接口实现了拨打电话并显示电话相关信息的功能
效果预览
使用说明
1.输入电话号码后,点击电话按钮,进行拨打电话。
2.拨打电话后文本框会显示拨打是否成功,是否存在通话,通话状态,是否紧急号码,格式化后的电话号码。
工程目录
entry/src/main/ets/
|
| |
|
| |
|
| |
|
| |
具体实现
-
该示例展示拨打电话功能,dial方法拨打电话,可设置通话参数,hasCall方法判断是否存在通话,getCallState方法获取当前通话状态,isEmergencyPhoneNumber方法判断是否是紧急电话号码,formatPhoneNumber方法格式化电话号码,formatPhoneNumberToE164方法将电话号码格式化为E.164表示形式。
源码链接:[CallView.ets]
import Logger from '../model/Logger'
import call from '@ohos.telephony.call'
const TAG: string = `[CallView]`
@Component
export struct CallView {
private on: Resource = $r('app.media.call_on')
private off: Resource = $r('app.media.call_off')
@State src: Resource = this.off
@Link input: string
@Link output: string
build() {
Column() {
Image(this.src)
.id('callImg')
.width(70)
.height(70)
.onClick(() => {
if (this.src == this.on) {
this.src = this.off
} else {
this.output = ''
this.src = this.on
call.dialCall(this.input, (err, data) => {
this.output = this.output + `dial: ${JSON.stringify(data)}` + '\\n'
Logger.info(`${TAG}, callback: dial err->${JSON.stringify(err)} data->${JSON.stringify(data)}`)
})
call.hasCall((err, data) => {
this.output = this.output + `hasCall: ${JSON.stringify(data)}` + '\\n'
Logger.info(`${TAG}, callback: hasCall err->${JSON.stringify(err)} data->${JSON.stringify(data)}`)
})
call.getCallState((err, data) => {
this.output = this.output + `getCallState: ${JSON.stringify(data)}` + '\\n'
Logger.info(`${TAG}, callback: getCallState err->${JSON.stringify(err)} data->${JSON.stringify(data)}`)
})
call.isEmergencyPhoneNumber(this.input, (err, data) => {
this.output = this.output + `isEmergencyPhoneNumber: ${JSON.stringify(data)}` + '\\n'
Logger.info(`${TAG}, callback: isEmergencyPhoneNumber err->${JSON.stringify(err)} data->${JSON.stringify(data)}`)
})
call.formatPhoneNumber(this.input, (err, data) => {
this.output = this.output + `formatPhoneNumber: ${JSON.stringify(data)}` + '\\n'
Logger.info(`${TAG}, callback: formatPhoneNumber err->${JSON.stringify(err)} data->${JSON.stringify(data)}`)
})
call.formatPhoneNumberToE164(this.input, "CN", (err, data) => {
this.output = this.output + `formatPhoneNumberToE164: ${JSON.stringify(data)}` + '\\n'
Logger.info(`${TAG}, callback: formatPhoneNumberToE164 err->${JSON.stringify(err)} data->${JSON.stringify(data)}`)
})
}
})
.onFinish(() => {
this.src = this.off
})
}
}
}
鸿蒙OpenHarmony知识待更新?点
(责任编辑:阿里技术) |