已关闭
url_launcher 在鸿蒙上不能发邮件的问题 #377
geniuswang创建于  2024年11月29日关闭于  3月11日
geniuswang
geniuswang
2024年11月29日 创建

【任务描述】
url_launcher 在鸿蒙上不能发邮件的问题
【解决方案】

替换以下代码


  launchMail(url: string): boolean {
    let mailAddress = this.parseUrl(url, UrlLauncher.LAUNCH_TYPE_MAILTO);
    Log.e(TAG, 'wangguanxiao' + mailAddress)

    let context = getContext(this) as common.UIAbilityContext;
    let wantParam: Record<string, Object> = {
      'sceneType': 1,
      'email': [encodeURI(mailAddress)], // 收件人邮箱地址,多值以逗号分隔,对数组内容使用encodeURI()方法进行url编码
      'ability.want.params.uriPermissionFlag': wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION
    };
    let abilityStartCallback: common.AbilityStartCallback = {
      onError: (code: number, name: string, message: string) => {
        console.log(`onError code ${code} name: ${name} message: ${message}`);
      },
      onResult: (result)=>{
        console.log(`onResult result: ${JSON.stringify(result)}`);
      }
    }

    context.startAbilityByType("mail", wantParam, abilityStartCallback,
      (err) => {
        if (err) {
          console.error(`startAbilityByType fail, err: ${JSON.stringify(err)}`);
        } else {
          console.log(`success`);
        }
      });

    // 调用系统的邮件
    // let ctx = getContext(this) as common.UIAbilityContext;
    // ctx.startAbility({
    //   action: 'ohos.want.action.sendToData',
    //   uri: url
    // })

    return true;
  }

likedislike
geniuswanggeniuswang
2024年11月29日 创建了任务
zichenyang21
zichenyang21成员
3月11日 评论:

感谢你提Issue!

由于当前Issue已超期,我们将关闭该Issue。若您有进一步的疑问,欢迎随时新建Issue与我们进一步讨论。

likedislike
zichenyang21zichenyang21成员
3月11日 issue状态由 待办的 改变为 已完成
zichenyang21zichenyang21成员
3月11日 关闭了 issue