HarmonyOS鸿蒙Next中短信服务是否提供像call.makeCall一样的方法进入发短信界面
HarmonyOS鸿蒙Next中短信服务是否提供像call.makeCall一样的方法进入发短信界面
- 我们使用
@ohos.telephony.call
提供的call.makeCall
可以电话拨号界面 - 请问
@ohos.telephony.sms
模块中sms.sendMessage
是直接无界面发送短信,还是类似与call.makeCall
跳转到发短信界面,由用户触发发送操作 - 我们期望在
sms
模块中提供类似于call.makeCall
的实现
3 回复
可以调用元能力startAbility接口指定号码并跳转到发送短信页面
import common from '@ohos.app.ability.common';
import { Want } from '@ohos.app.ability.Want';
const MMS_BUNDLE_NAME = "com.ohos.mms";
const MMS_ABILITY_NAME = "com.ohos.mms.MainAbility";
const MMS_ENTITIES = 'entity.system.home';
export class Contact {
contactsName: string;
telephone: number;
constructor(contactsName: string, telephone: number) {
this.contactsName = contactsName;
this.telephone = telephone;
}
}
@Entry
@Component
struct JumpMessage {
private context = this as common.UIAbilityContext
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: "我才是测试内容"
}
};
this.context.startAbilityForResult(want).then((data) => {
console.log("Success" + JSON.stringify(data))
}).catch(() => {
console.log("error")
})
}
build() {
Row() {
Column() {
Button('发送短信')
.onClick(() => {
this.startMMSAbilityExplicit();
})
}
.width('100%')
}
.height('100%')
}
}
更多关于HarmonyOS鸿蒙Next中短信服务是否提供像call.makeCall一样的方法进入发短信界面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,短信服务提供了类似call.makeCall
的方法来进入发短信界面。具体来说,可以使用startAbility
方法启动短信应用的Ability,并通过设置Intent
参数来指定进入发短信界面。例如,可以使用ohos.aafwk.ability.Ability
类中的startAbility
方法,并设置Intent
的action
为ohos.intent.action.SENDTO
,同时通过uri
参数指定接收短信的联系人号码。这样,系统会自动打开短信应用并进入发短信界面,用户可以直接编辑并发送短信。
在HarmonyOS鸿蒙Next中,可以通过intent
机制启动短信应用的发送界面。具体方法如下:
- 使用
Intent
对象设置ACTION_SEND
操作。 - 指定
MIME
类型为text/plain
。 - 通过
putExtra
方法添加短信内容和接收者号码。 - 调用
startAbility(intent)
启动短信发送界面。
这种方式类似于call.makeCall
,但适用于短信发送场景。