HarmonyOS鸿蒙Next中怎么调起短信和邮箱发送文字和图片

HarmonyOS鸿蒙Next中怎么调起短信和邮箱发送文字和图片 必须是发送图片和文字

5 回复

拉起短信:

import { common, Want } from '@kit.AbilityKit';

// xxx.ets
@Entry
@Component
struct Index {
  startMMSAbilityExplicit(): void {
    let context = getContext(this) as common.UIAbilityContext;
    let contactInfo: ESObject = [{
      contactsName: 'ZhangSan',
      telephone: '16888888888'
    }];
    let want: Want = {
      bundleName: 'com.ohos.mms',
      abilityName: 'com.ohos.mms.MainAbility',
      parameters: {
        contactObjects: JSON.stringify(contactInfo),
        pageFlag: 'conversation'
      }
    };
    context.startAbility(want)
      .then(() => {
        console.log("拉起短信成功")
      })
      .catch((err: ESObject) => {
        console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
      });
  }

  build() {
    Column() {
      Button("跳转短信")
        .onClick(() => {
          this.startMMSAbilityExplicit()
        })
    }
    .height('100%')
    .width('100%')
  }
}

拉起邮箱:

import { common, Want } from '@kit.AbilityKit';

// xxx.ets
@Entry
@Component
struct Index {
  startEmailAbilityExplicit(): void {
    let context = getContext(this) as common.UIAbilityContext;
    let want: Want = {
      bundleName: 'com.huawei.hmos.email',
      abilityName: 'EntryAbility',
      moduleName: 'entry',
    };
    context.startAbility(want)
      .then(() => {
        console.log("拉起邮箱成功")
      })
      .catch((err: ESObject) => {
        console.error(`Failed to startAbility. Code: ${err.code}, message: ${err.message}`);
      });
  }

  build() {
    Column() {
      Button("跳转邮箱")
        .onClick(() => {
          this.startEmailAbilityExplicit()
        })
    }
    .height('100%')
    .width('100%')
  }
}

短信和邮箱都支持图文发送的

更多关于HarmonyOS鸿蒙Next中怎么调起短信和邮箱发送文字和图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


没太看出来,只是拉起而已吧,没看到哪里可以设置图片。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/start-email-apps-V13

邮件的可以参考这个,不过传附件,系统邮箱目前不支持,想传图片,body中传在线图片是可以的

在HarmonyOS鸿蒙Next中,调起短信和邮箱发送文字和图片可以通过使用系统提供的Intent功能实现。

  1. 调起短信发送:

    • 使用ohos.app.ContextstartAbility方法,设置IntentactionIntent.ACTION_SENDTO
    • Intent中设置urisms:开头的URI,并附加text参数传递文字内容。
    • 如果需要发送图片,可以将图片转换为URI并通过IntentaddFlags方法附加。
    let intent = {
        action: "ohos.intent.action.SENDTO",
        uri: "sms:1234567890",
        parameters: {
            "text": "Hello, this is a message."
        }
    };
    this.context.startAbility(intent, (err) => {
        if (err) {
            console.error(`Failed to start ability. Code is ${err.code}, message is ${err.message}`);
        }
    });
    
  2. 调起邮箱发送:

    • 使用ohos.app.ContextstartAbility方法,设置IntentactionIntent.ACTION_SEND
    • Intent中设置typetext/plainimage/*,并附加text参数传递文字内容。
    • 如果需要发送图片,可以通过IntentaddFlags方法附加图片URI。
    let intent = {
        action: "ohos.intent.action.SEND",
        type: "text/plain",
        parameters: {
            "text": "Hello, this is an email.",
            "uri": "file:///path/to/image.jpg"
        }
    };
    this.context.startAbility(intent, (err) => {
        if (err) {
            console.error(`Failed to start ability. Code is ${err.code}, message is ${err.message}`);
        }
    });
    

通过以上方法,可以在HarmonyOS鸿蒙Next中调起短信和邮箱发送文字和图片。

在HarmonyOS Next中,调起短信和邮箱发送文字和图片可以通过以下步骤:

  1. 短信发送

    • 使用Intent对象,设置actionIntent.ACTION_SENDTO
    • 添加sms_bodyextra来传递文本内容,使用Uri指定收件人号码。
    • 调用startActivity(intent)启动短信应用。
  2. 邮箱发送

    • 使用Intent对象,设置actionIntent.ACTION_SEND
    • 添加EXTRA_TEXTEXTRA_STREAMextra来传递文本和图片。
    • 设置typetext/plainimage/*,调用startActivity(intent)启动邮箱应用。
回到顶部