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

发布于 1周前 作者 h691938207 来自 鸿蒙OS

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

  1. 我们使用 @ohos.telephony.call 提供的 call.makeCall 可以电话拨号界面
  2. 请问 @ohos.telephony.sms 模块中 sms.sendMessage 是直接无界面发送短信,还是类似与 call.makeCall 跳转到发短信界面,由用户触发发送操作
  3. 我们期望在 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方法,并设置Intentactionohos.intent.action.SENDTO,同时通过uri参数指定接收短信的联系人号码。这样,系统会自动打开短信应用并进入发短信界面,用户可以直接编辑并发送短信。

在HarmonyOS鸿蒙Next中,可以通过intent机制启动短信应用的发送界面。具体方法如下:

  1. 使用Intent对象设置ACTION_SEND操作。
  2. 指定MIME类型为text/plain
  3. 通过putExtra方法添加短信内容和接收者号码。
  4. 调用startAbility(intent)启动短信发送界面。

这种方式类似于call.makeCall,但适用于短信发送场景。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!