HarmonyOS鸿蒙Next 4.0如何拉起系统邮件应用发送邮件(API9)

HarmonyOS鸿蒙Next 4.0如何拉起系统邮件应用发送邮件(API9)

Next版本中有对应的方法。 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/start-email-apps-V5#%E7%9B%AE%E6%A0%87%E6%96%B9%E5%BC%80%E5%8F%91%E6%AD%A5%E9%AA%A4

但是API9中没有对应的方法,我在调用startAbility时如何通过参数配置,实现拉起系统邮件app发送邮件功能


更多关于HarmonyOS鸿蒙Next 4.0如何拉起系统邮件应用发送邮件(API9)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

示例如下:

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

@Entry
@Component
struct Index {
  build() {
    Text('拉起电子邮件').fontSize(40).onClick(() => {
      this.startEmailApp();
    })
  }

  startEmailApp() {
    let want: Want = {
      bundleName: 'com.huawei.hmos.email',
      abilityName: 'EntryAbility',
      moduleName: 'entry',
      action: 'ohos.want.action.viewData',
    };
    try {
      let context = getContext(this) as common.UIAbilityContext;
      context.startAbility(want).then(() => {
        console.log('成功拉起邮件');
      }).catch((err: BusinessError) => {
        console.log('拉起邮件失败');
      })
    } catch (e) {
      console.log('拉起邮件失败');
    }
  }
}

更多关于HarmonyOS鸿蒙Next 4.0如何拉起系统邮件应用发送邮件(API9)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next 4.0中,使用API9拉起系统邮件应用发送邮件,可以通过Intent操作实现。首先,创建Intent对象,设置ActionIntent.ACTION_SENDTO,并指定邮件地址和数据。然后,调用startAbility方法启动邮件应用。示例代码如下:

import common from '@ohos.app.ability.common';

let intent = {
    action: 'ohos.intent.action.SENDTO',
    uri: 'mailto:example@example.com',
    parameters: {
        'subject': 'Test Subject',
        'body': 'Test Body'
    }
};
let context = getContext(this) as common.UIAbilityContext;
context.startAbility(intent);

此代码会拉起系统邮件应用并填充收件人、主题和正文。

在HarmonyOS Next 4.0 API9中,可以通过隐式Want的方式拉起系统邮件应用发送邮件。以下是具体实现代码示例:

import common from '@ohos.app.ability.common';

let context = getContext(this) as common.UIAbilityContext;
let want = {
  action: 'ohos.want.action.send',
  parameters: {
    'mailto': 'recipient@example.com',
    'subject': '邮件主题',
    'body': '邮件正文内容'
  }
};

try {
  context.startAbility(want).then(() => {
    console.log('成功拉起邮件应用');
  }).catch((err) => {
    console.error(`拉起邮件应用失败: ${err.code}, ${err.message}`);
  });
} catch (error) {
  console.error(`发生异常: ${error.code}, ${error.message}`);
}

关键参数说明:

  1. action必须设置为’ohos.want.action.send’
  2. parameters中可配置的邮件参数包括:
    • mailto:收件人地址(必填)
    • cc:抄送地址
    • bcc:密送地址
    • subject:邮件主题
    • body:邮件正文

注意:实际可用参数可能因设备厂商的邮件应用实现而略有差异。

回到顶部