HarmonyOS鸿蒙Next中关于相册读写权限一直失败的问题咨询

HarmonyOS鸿蒙Next中关于相册读写权限一直失败的问题咨询 我们有需求要把图片保存到相册,通过文档查询到@ohos.file.photoAccessHelper模块可以达到预期,但是这里出现权限的问题我们测试代码如下(代码从文档示例中摘抄):

let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE;
let extension:string = 'jpg';
let options: photoAccessHelper.CreateOptions = {
  title: 'testPhoto'
}
let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(getContext());
phAccessHelper.createAsset(photoType, extension, options, (err, uri) => {
  if (uri !== undefined) {
    console.info('createAsset uri' + uri);
    console.info('createAsset successfully');
  } else {
    console.error(`createAsset failed, error: ${err.code}, ${err.message}`);
  }
});

在回调的callback中一直返回error,错误信息见附件截图,通过错误信息我们初步觉得是权限问题,所以我们在工程中配置权限如下:

{
  "name": 'ohos.permission.WRITE_IMAGEVIDEO',
  "reason": '$string:write_image_video_permission_reasion',
  "usedScene": {
   "abilities": [""]
  }
},
{
  "name": 'ohos.permission.READ_IMAGEVIDEO',
  "reason": '$string:write_image_video_permission_reasion',
  "usedScene": {
    "abilities": [""]
  }
}

权限如上配置完毕之后还是一样的错误,我们通过文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/declare-permissions-in-acl-0000001915769905 看到可以自动申请对应的权限,所以我们按操作进行操作完毕运行项目之后还是同样的错误,麻烦告知下我们接下来要怎么处理才能往手机的相册中写入我们的图片的操作?


更多关于HarmonyOS鸿蒙Next中关于相册读写权限一直失败的问题咨询的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

为规范使用相册的动作,保存推荐使用saveButton。相册读写权限目前正在整改中,后续不对外开放。

更多关于HarmonyOS鸿蒙Next中关于相册读写权限一直失败的问题咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,相册读写权限失败可能涉及以下几个原因:

  1. 权限声明不完整:确保在config.json文件中正确声明了相册读写权限。例如:

    "reqPermissions": [
        {
            "name": "ohos.permission.READ_MEDIA",
            "reason": "读取相册内容"
        },
        {
            "name": "ohos.permission.WRITE_MEDIA",
            "reason": "写入相册内容"
        }
    ]
    
  2. 动态权限申请:在HarmonyOS中,部分敏感权限需要动态申请。确保在代码中正确调用了requestPermissionsFromUser方法,并处理了用户授权结果。

  3. 权限组管理:HarmonyOS将权限分组管理,某些权限可能需要申请整个权限组。例如,READ_MEDIAWRITE_MEDIA可能属于同一权限组,需要一并申请。

  4. 系统版本适配:不同版本的HarmonyOS可能在权限管理上有差异,确保代码适配了目标系统版本。

  5. 设备权限设置:用户可能在设备设置中关闭了应用的相册读写权限,检查设备设置中应用的权限状态。

  6. 应用沙箱机制:HarmonyOS的应用沙箱机制可能限制了文件访问路径,确保使用正确的文件路径访问相册内容。

  7. 日志分析:通过查看系统日志或使用HiLog输出调试信息,分析权限申请失败的具体原因。

  8. API调用错误:确保使用的API与HarmonyOS版本匹配,避免因API变更导致的权限问题。

检查以上几点,排查相册读写权限失败的原因。

回到顶部