HarmonyOS鸿蒙Next中如何将一张图片保存到系统图库里,需要申请什么权限?

HarmonyOS鸿蒙Next中如何将一张图片保存到系统图库里,需要申请什么权限? 如何将一张图片保存到系统图库里,需要申请什么权限?

4 回复

可以参考下这篇博文:

HarmonyOS Next 屏幕截图 + 保存图片到系统相册 代码分享

https://developer.huawei.com/consumer/cn/blog/topic/03166979994620019

更多关于HarmonyOS鸿蒙Next中如何将一张图片保存到系统图库里,需要申请什么权限?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,将一张图片保存到系统图库需要使用MediaLibrary API,并申请ohos.permission.WRITE_MEDIA权限。首先,在config.json文件中声明权限:

{
  "module": {
    "reqPermissions": [
      {
        "name": "ohos.permission.WRITE_MEDIA"
      }
    ]
  }
}

然后,在代码中动态申请权限:

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

let atManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(this.context, ['ohos.permission.WRITE_MEDIA']).then((data) => {
  if (data.authResults[0] === 0) {
    // 权限申请成功
  } else {
    // 权限申请失败
  }
});

接下来,使用MediaLibrary API保存图片:

import mediaLibrary from '@ohos.multimedia.mediaLibrary';

let media = mediaLibrary.getMediaLibrary(this.context);
let filePath = 'your_image_path.jpg'; // 图片路径
let imageFile = media.createAsset(mediaLibrary.MediaType.IMAGE, 'image.jpg', filePath, (err, fileAsset) => {
  if (err) {
    console.error('Failed to save image to gallery.');
  } else {
    console.log('Image saved to gallery.');
  }
});

通过以上步骤,可以将图片保存到系统图库中。

在HarmonyOS鸿蒙Next中,将图片保存到系统图库需要申请ohos.permission.WRITE_IMAGE_DATA权限。首先在应用的config.json文件中声明该权限,然后使用MediaLibrary API将图片保存到图库。具体步骤包括:创建MediaLibrary实例,设置图片的MediaAsset属性,然后调用saveMediaAsset方法保存图片。确保在运行时动态申请权限,并在用户授权后执行保存操作。

回到顶部