【代码案例】HarmonyOS 鸿蒙Next 发短信案例

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

【代码案例】HarmonyOS 鸿蒙Next 发短信案例 HarmonyOS Next应用开发案例(持续更新中……)

本案例完整代码,请访问:https://gitee.com/harmonyos-cases/cases/tree/master/CommonAppDevelopment/feature/sendmessage

本案例已上架 HarmonyOS NEXT 开源组件市场,如需获取或移植该案例,可安装此插件。开发者可使用插件获取鸿蒙组件,添加到业务代码中直接编译运行。

介绍

本示例介绍如何在应用中调起系统短信,通过startAbility接口中的指定号码并调起系统的发送短信页面。

发送短信案例动图

使用说明

  1. 点击发短信案例。
  2. 点击按钮"快捷发送短信"。
  3. 调起系统短信页面,并将短信发送人与内容回填到系统短信中。

实现思路

  1. 本案例通过startAbility接口中的指定号码并调起系统的发送短信页面。
// TODO:知识点:通过调用元能力startAbility接口指定号码并跳转到发送短信页面
gotoMessage(contactInfo: Array<Contact>, msg: string) {
  let context = getContext(this) as common.UIAbilityContext;
  // 通过指定的abilityName和bundleName拉起短信服务,并通过页面传入的want参数中填入短信内容与短信接收人的号码。
  let want: Want = {
    bundleName: 'com.ohos.mms',
    abilityName: 'com.ohos.mms.MainAbility',
    parameters: {
      contactObjects: JSON.stringify(contactInfo),
      pageFlag: 'conversation',
      content: msg // 这里填写短信内容
    },
  };
  context.startAbilityForResult(want).then((data) => {
    logger.info(`Success` + JSON.stringify(data));
  }).catch((err: BusinessError) => {
    logger.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
  });
}
  1. 点击页面"快捷发送短信"按钮时,通过指定的abilityNamebundleName拉起短信服务,并通过页面传入的want参数中填入发送的内容与短信接收人的号码,从而实现在应用内实现跳转到短信编辑的功能,并且携带编辑内容和收件人号码。
Button($r('app.string.send_message_quickly_sent_message'))
  .onClick(() => {
    let contactInfo: Array<Contact> = [];
    let number = this.number;
    let msg = this.msg;
    // 这里填入发送的联系人名字和号码
    contactInfo.push(new Contact("xx安全团队", number))
    // 点击时,将短信接收人的号码与短信内容传参给系统短信
    this.gotoMessage(contactInfo, msg);
  })

高性能知识点

不涉及

工程结构 & 模块类型

sendmessage                                     // har类型
|---
|   |---
|   |   MessageView.ets                         // 视图层-主页

模块依赖

参考资料


更多关于【代码案例】HarmonyOS 鸿蒙Next 发短信案例的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

请问楼主下载通用案例代码,运行在模拟器时报错如下,发现图片编辑实现马赛克效果的代码例子,找不到动态路由。麻烦能修复一下吗?

cke_1004.png

更多关于【代码案例】HarmonyOS 鸿蒙Next 发短信案例的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,实现发短信的功能通常涉及调用系统的短信服务API。以下是一个简化的示例代码,用于展示如何在鸿蒙系统中发送短信。请注意,实际开发中可能需要根据具体需求和环境进行调整。

// 引入必要的模块
import sms from '@ohos.multimedia.sms';

// 发送短信的函数
function sendSms(phoneNumber, message) {
    sms.sendTextMessage(phoneNumber, null, message, null, (err, messageId) => {
        if (err) {
            console.error('发送短信失败:', err);
        } else {
            console.log('短信发送成功, ID:', messageId);
        }
    });
}

// 示例调用
const phoneNumber = '1234567890'; // 替换为目标手机号
const message = '这是一条测试短信';
sendSms(phoneNumber, message);

在这个例子中,sms.sendTextMessage 方法用于发送文本短信。它接受几个参数:目标电话号码、服务中心地址(通常传null使用默认服务中心)、短信内容以及一个回调函数,用于处理发送结果。回调函数中的err参数表示是否发生错误,messageId表示短信的唯一标识符(如果发送成功)。

请注意,实际应用中需要处理用户隐私和数据安全,确保在发送短信前已获得用户的明确授权。此外,不同设备或版本的鸿蒙系统可能对短信API的实现有所差异,开发者需根据实际情况进行调整。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部