HarmonyOS鸿蒙Next中使用startability根据文件uri拉起对应的应用,预览失败

HarmonyOS鸿蒙Next中使用startability根据文件uri拉起对应的应用,预览失败 需求:是根据传入的uri和资源类型,打开对应的应用去预览或操作,例如传入pdf、doc等拉起WPS打开,传入音频例如mp3 使用音乐软件打开。

出现的问题,在使用31的镜像时,可以拉起对应应用或者自带的预览打开或预览对应uri文件,但是传入的若是图片类型或者视频类型的就无法预览。

使用36和60镜像时可以拉起对应的应用,可以拉起对应的应用,但是用应用打开无反应使用预览也无反应

  startActivity() {
    let uri = this.filePath as string;
    let want: Want = {
      uri: uri,
      type: this.mimeType as string,
      flags: wantConstant.Flags.FLAG_AUTH_WRITE_URI_PERMISSION | wantConstant.Flags.FLAG_AUTH_READ_URI_PERMISSION
    };
    let type: number = 0;
    let message: string = "done";
    this.ability?.context.startAbility(want).then(() => {
      this.resultA(type, message);
    })
    .catch((err: BusinessError) => {
        type = -1;
        message = "No APP found to open this file。";
      });
  }

更多关于HarmonyOS鸿蒙Next中使用startability根据文件uri拉起对应的应用,预览失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中使用startability根据文件uri拉起对应的应用,预览失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,使用startAbility根据文件URI拉起对应应用时,如果预览失败,可能原因包括:

  1. URI格式不正确或文件路径无效;
  2. 目标应用未正确注册文件类型支持;
  3. 权限不足,未获取文件访问权限。

建议检查URI格式,确保目标应用支持该文件类型,并在config.json中正确配置权限。

回到顶部