HarmonyOS鸿蒙Next中实现短信发送功能示例代码

HarmonyOS鸿蒙Next中实现短信发送功能示例代码

发送蜂窝短信

介绍

开发者可以通过显式指定bundleName为com.ohos.mms、abilityName为com.ohos.mms.MainAbility来拉起联系人应用,其中contactsName为用户名,telephone为电话号码。

发送短信的接口需要系统权限才可调用,三方应用如果有发送短信需求,需要在应用内实现跳转到短信编辑的功能,并且需要携带编辑内容和收件人号码,可以通过调用元能力startAbility接口指定号码并跳转到发送短信页面的方式实现。

实现短信发送功能源码链接

效果预览

效果预览

实现思路

通过显式指定bundleName为com.ohos.mms、abilityName为com.ohos.mms.MainAbility来拉起联系人应用,其中contactsName为用户名,telephone为电话号码。核心代码如下:

//短信
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: "我才是测试内容"
    }
  };
  const context = getContext(this) as common.UIAbilityContext;
  context.startAbilityForResult(want).then((data) => {
    console.log("Success" + JSON.stringify(data))
  }).catch(() => {
    console.log("error")
  })
}

更多关于HarmonyOS鸿蒙Next中实现短信发送功能示例代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,实现短信发送功能可以通过调用@ohos.telephony.sms接口来完成。以下是一个示例代码:

import sms from '@ohos.telephony.sms';

// 定义接收短信的电话号码和短信内容
let phoneNumber = '1234567890';
let message = '这是一条测试短信';

// 发送短信
sms.sendMessage({
    destinationHost: phoneNumber,
    content: message,
    success: () => {
        console.log('短信发送成功');
    },
    fail: (err) => {
        console.error('短信发送失败: ' + JSON.stringify(err));
    }
});

在这个示例中,sms.sendMessage方法用于发送短信。destinationHost参数指定接收短信的电话号码,content参数是短信内容。successfail回调函数分别用于处理发送成功和失败的情况。

确保在config.json文件中声明ohos.permission.SEND_MESSAGES权限:

{
    "module": {
        "reqPermissions": [
            {
                "name": "ohos.permission.SEND_MESSAGES"
            }
        ]
    }
}

这个权限是发送短信所必需的。

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


在HarmonyOS(鸿蒙Next)中,实现短信发送功能可以通过telephony模块的SmsManager类来完成。以下是一个简单的示例代码:

import ohos.telephony.SmsManager;
import ohos.telephony.SmsMessageOptions;

public class SmsSender {
    public void sendSms(String phoneNumber, String message) {
        SmsManager smsManager = SmsManager.getInstance();
        SmsMessageOptions options = new SmsMessageOptions();
        smsManager.sendMessage(phoneNumber, message, options, new SmsManager.SendSmsCallback() {
            @Override
            public void onSuccess() {
                System.out.println("短信发送成功");
            }

            @Override
            public void onFail(int errorCode) {
                System.out.println("短信发送失败,错误码: " + errorCode);
            }
        });
    }
}

此代码通过SmsManager实例化一个短信管理器,使用sendMessage方法发送短信,并处理发送成功或失败的回调。确保在config.json中声明ohos.permission.SEND_MESSAGES权限。

回到顶部