HarmonyOS 短信服务是否提供像call.makeCall一样的方法进入发短信界面

  1. 我们使用 @ohos.telephony.call提供的call.makeCall可以电话拨号界面
  2. 请问@ohos.telephony.sms模块中sms.sendMessage是直接无界面发送短信,还是类似与call.makeCall跳转到发短信界面,由用户触发发送操作
  3. 我们期望在sms模块中提供类似于call.makeCall的实现
HarmonyOS
22h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

短信服务是直接在应用界面实现发短信的能力。但sms.sendMessage需要调用系统能力发送短信,申请权限,当前权限不开放。

可以通过跳转短信应用来完成发送信息的操作。

可以调用元能力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 = 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%')
  }
}
分享
微博
QQ
微信
回复
20h前
相关问题
HarmonyOS如何跳转到发短信页面
531浏览 • 1回复 待解决
根据次开发多端部署开发短信页面
1239浏览 • 1回复 待解决
JS swiper 怎么list一样动态添加item?
6366浏览 • 1回复 待解决
HarmonyOS 如何调用短信应用发送短信
34浏览 • 1回复 待解决
如何拉起短信界面并指定联系人
1915浏览 • 1回复 待解决
如何拉起短信界面然后指定联系人?
517浏览 • 2回复 待解决
HarmonyOS 拉起短信页面
234浏览 • 1回复 待解决
HarmonyOS 短信校验控件
220浏览 • 1回复 待解决