HarmonyOS 跳转系统邮件,发送邮件的示例代码

联系人信息中,如果对方提供邮箱,点击可以传递邮箱账号,直接跳转到系统邮箱

HarmonyOS
2024-12-23 12:40:28
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

目前电子邮件可通过ability拉起,通过拼接uri传递参数

mail({ subject= '', recipients=[], body='', ccRecipients=[], bccRecipients=[] }: mainOptions, callback: Function) {
  let mailUri: string = '';
  mailUri += recipients?.join(',') || '';
  mailUri += '?cc=' + ccRecipients?.join(',') || '';
  mailUri += '&bcc=' + bccRecipients?.join(',') || '';
  mailUri += '&subject=' + subject;
  mailUri += '&body=' + body;
  Logger.info(TAG + 'mailUri ', mailUri, 'ccRecipients:' + ccRecipients, 'bccRecipients:' + bccRecipients);
  this.startEmailApp(mailUri, callback);
}
startEmailApp = (mailUri, callback) => {
  let want: Want = {
    bundleName: 'com.huawei.hmos.email',
    abilityName: 'EntryAbility',
    moduleName: 'entry',
    uri: 'mailto:' + mailUri,
    action: 'ohos.want.action.viewData',
  };
  Logger.info(TAG + 'want ', JSON.stringify(want));

  try {
    this.ctx.uiAbilityContext.startAbility(want)
      .then(() => {
        Logger.info(TAG, 'startAbility success');
      })
      .catch((err: BusinessError) => {
        Logger.info(TAG, 'startAbility error.', err.message);
        callback(err.message);
      })
  } catch (e) {
    callback(e);
    Logger.info(TAG + 'error:', e);
  }
}
分享
微博
QQ
微信
回复
2024-12-23 15:21:01
相关问题
HarmonyOS 跳转邮件App,怎么实现?
426浏览 • 1回复 待解决
HarmonyOS 跳转系统地图进行导航
542浏览 • 1回复 待解决
HarmonyOS 应用中跳转系统相册
393浏览 • 1回复 待解决
如何跳转系统权限设置页面
1292浏览 • 1回复 待解决
HarmonyOS 跳转系统选择输入法界面
317浏览 • 1回复 待解决
服务卡片webview如何跳转系统浏览器?
8351浏览 • 2回复 待解决
HarmonyOS跳转系统浏览器打开网页报错
1357浏览 • 1回复 待解决
如何跳转系统发送短信页面
2711浏览 • 1回复 待解决