HarmonyOS 鸿蒙Next systemShare如何分享图片

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next systemShare如何分享图片 分享视频或图片时,从api中未能找到直接传入数据流的方法,示例中仅给出了如何通过路径(uri或者url)分享图片和视频,那么我仅仅有一个PixelMap对象的话,如何来分享呢?先存入沙盒,这怕是不太合理

2 回复

暂不支持直接分享PixelMap对象

可以试下保存pixelmap

async imageWriteAlbumExample(pixelMap:image.PixelMap) {
  console.info('createAssetDemo');
  let context = this.getContext();
  let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
  let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
  let extension:string = 'jpg';
  let options: photoAccessHelper.CreateOptions = {
    title: 'testPhoto'
  }
  let uri = await phAccessHelper.createAsset(photoType, extension, options);
  try {
      // 方式:通过imagePacker写入文件
      let file: fs.File = fs.openSync(uri, fs.OpenMode.WRITE_ONLY);
      let imagePacker: image.ImagePacker = image.createImagePacker();
      let packOpts: image.PackingOption = { format: 'image/jpeg', quality: 100 };
      await imagePacker.packToFile(pixelMap , file.fd, packOpts);
      fs.closeSync(file);
      promptAction.showToast({
        message: '已保存至相册',
        duration: 2500
     });

  }
  catch (err) {
    console.error("error is "+ JSON.stringify(err))
    promptAction.showToast({
      message: '保存失败',
      duration: 2000
    });
  }
}

更多关于HarmonyOS 鸿蒙Next systemShare如何分享图片的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,使用Next systemShare功能分享图片的具体操作步骤如下:

  1. 打开图片所在应用:首先,在相册、文件管理或任何包含你想要分享图片的应用中,找到并打开该图片。

  2. 选择分享选项:在图片预览界面,通常会在底部或顶部菜单栏看到一个分享图标(通常是一个带有箭头的方框或者三个点的更多选项图标)。点击该图标以打开分享菜单。

  3. 选择Next systemShare:在分享菜单中,找到并点击“Next systemShare”选项。如果系统中已安装并启用了该功能的相关应用或服务,它应该会出现在列表中。

  4. 选择接收设备或应用:接下来,系统会扫描附近的设备或已连接的应用,供你选择作为分享的目标。选择你想要分享图片的设备或应用。

  5. 确认分享:在选择了接收方后,系统可能会要求你确认分享操作。点击确认后,图片将通过Next systemShare功能发送至指定的设备或应用。

如果以上步骤无法成功分享图片,可能是由于系统版本、应用权限或设备兼容性等问题导致。此时,请确保所有相关应用和系统服务都已更新到最新版本,并检查应用的分享权限设置。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部