HarmonyOS 鸿蒙Next 拉起电话呼叫、短信发送能力介绍 鸿蒙场景化代码
HarmonyOS 鸿蒙Next 拉起电话呼叫、短信发送能力介绍 鸿蒙场景化代码 一、蜂窝电话呼叫
当前仅系统应用支持直接拨号,三方应用仅能跳转到拨号页,可以通过call.makeCall来拉起拨号界面。并在makeCall函数的第一个参数中指定电话号码,该功能代码在2in1设备中不可用。
makeCall(phoneNumber: string, callback: AsyncCallback): void
跳转到拨号界面,并显示待拨出的号码。使用callback异步回调。只支持在UIAbility中调用。
元服务API:从API version 11开始,该接口支持在元服务中使用。
系统能力:SystemCapability.Applications.Contacts
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
phoneNumber | string | 是 | 电话号码 |
callback | AsyncCallback | 是 | 异步返回结果 |
//拨号
TestTelephonyCall() {
// 调用查询能力接口
let isSupport = call.hasVoiceCapability();
if (isSupport) {
// 如果设备支持呼叫能力,则继续跳转到拨号界面,并显示拨号的号码
call.makeCall("13012344321", (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));
});
}
}
可通过observer.on监听callStateChange通话状态变更,设置对应的回调。
二、发送蜂窝短信
开发者可以通过显式指定bundleName为com.ohos.mms、abilityName为com.ohos.mms.MainAbility来拉起联系人应用,其中contactsName为用户名,telephone为电话号码。
发送短信的接口需要系统权限才可调用,三方应用如果有发送短信需求,需要在应用内实现跳转到短信编辑的功能,并且需要携带编辑内容和收件人号码,可以通过调用元能力startAbility接口指定号码并跳转到发送短信页面的方式实现。
//短信
startMMSAbilityExplicit() {
// 这里完善联系人和号码,联系人姓名暂时用不到,可以删除不传
let params: Array<Object> = [new Contact("张三", 13344556677)];
let want: Want = {
bundleName: "com.ohos.mms",
abilityName: "com.ohos.mms.MainAbility",
parameters: {
contactObjects: JSON.stringify(params),
pageFlag: "conversation",
// 这里填写短信内容
content: "我才是测试内容"
}
};
const context = getContext(this) as common.UIAbilityContext;
context.startAbilityForResult(want).then((data) => {
console.log("Success" + JSON.stringify(data))
}).catch(() => {
console.log("error")
})
}
三、效果预览
参考仓库地址
更多关于HarmonyOS 鸿蒙Next 拉起电话呼叫、短信发送能力介绍 鸿蒙场景化代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next 拉起电话呼叫、短信发送能力介绍 鸿蒙场景化代码的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)系统中,拉起电话呼叫和短信发送的能力是通过特定的API接口实现的,这些接口允许开发者在应用中集成通信功能。以下是对这两种能力的简要介绍及代码示例(场景化代码):
电话呼叫
在鸿蒙应用中,你可以使用TelephonyManager
类来发起电话呼叫。需要注意的是,应用需要具备相应的权限(如ohos.permission.CALL_PHONE
)。
示例代码:
// 注意:此处仅为示例,实际鸿蒙代码不使用Java
TelephonyManager telephonyManager = (TelephonyManager) getTelephonyManager();
telephonyManager.makeCall("tel:1234567890"); // 替换为实际电话号码
注意:鸿蒙实际开发中使用的是JS或ETS(Extensible TypeScript)语言,上述Java代码仅为说明功能,实际代码会有所不同。
短信发送
对于短信发送,你可以使用SmsManager
类。同样,应用需要获得发送短信的权限(如ohos.permission.SEND_SMS
)。
示例代码(概念性,非实际Java代码):
// 注意:此处仅为示例,实际鸿蒙代码不使用Java
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("1234567890", null, "Hello, this is a test message.", null, null); // 替换为实际电话号码和消息内容
总结
鸿蒙系统提供了丰富的API来支持电话呼叫和短信发送功能,开发者可以在应用中根据需求进行集成。但需要注意的是,实际开发时需要使用鸿蒙特定的编程语言(如ETS)和API。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,