如何跳转到系统发送短信页面?

let options: sms.SendMessageOptions = {
  slotId: 0,
  content: message,
  destinationHost: phone,
  sendCallback: sendCallback,
  deliveryCallback: deliveryCallback
};
const promise = sms.sendShortMessage(options);

使用如上代码发送短信,提示需要ohos.permission.SEND_MESSAGES权限。但是该权限属于系统级别的。

添加后是无法安装的,需要acl权限。而需求不是在app中直接发送短信。只需要跳转到系统短信页面即可。如何跳转到系统发送短信页面。

阅读 265
1 个回答

可以参考如下实现:

@Entry
@Component
struct JumpMessage {
  private context = getContext(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%’)
}
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进