HarmonyOS 鸿蒙Next获取系统相册报错

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

HarmonyOS 鸿蒙Next获取系统相册报错

let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(getContext(this));
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
let albumName: photoAccessHelper.AlbumKeys = photoAccessHelper.AlbumKeys.ALBUM_NAME;
// predicates.equalTo(albumName,“label”);
// let fetchOptions: photoAccessHelper.FetchOptions = {
// fetchColumns:[],
// predicates:predicates
// }
try{
let fetchResult: photoAccessHelper.FetchResult<photoAccessHelper.Album> = await phAccessHelper.getAlbums(photoAccessHelper.AlbumType.SYSTEM,photoAccessHelper.AlbumSubtype.USER_GENERIC);
let album: photoAccessHelper.Album = await fetchResult.getFirstObject();
console.log(“获取相册成功,相册名称” + album.albumName);
fetchResult.close();
} catch (err){
console.log(“获取相册失败”+err);
}
使用该代码获取相册内容 报错System inner fail

3 回复
1.访问系统相册,可以使用picker,也可以申请相册管理模块权限'ohos.permission.WRITE_IMAGEVIDEO',picker是为了给一些没有权限的三方应用使用的,'ohos.permission.WRITE_IMAGEVIDEO'为系统等级,user_grant,实例代码中没有向用户动态授权的代码,向用户事情申请权限可参考一下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/request-user-authorization-V5

普通应用申请系统级别权限,需要在应用市场ACL跨级别申请

2.测试官网《系统相册资源使用指导》代码没有问题,可以正常获取

3.指南中系统相册获取方法和API中@ohos.file.photoAccessHelper (相册管理模块)获取相册的方法区别是,系统相册可以在获取的时候弹出一个界面“是否允许获取相册”,api组件获取是组件调用了系统相册能力,用户无感知。

针对HarmonyOS 鸿蒙Next获取系统相册报错的问题,以下是一些可能的解决方案:

  1. 检查权限申请

    • 确保应用已正确申请并获得了访问相册所需的权限,如ohos.permission.READ_MEDIA或相关ACL权限。
  2. 检查代码逻辑

    • 确认在调用获取相册的API时,参数设置正确,如相册类型、子类型等。
    • 检查是否有代码错误或逻辑错误导致获取相册失败。
  3. 参考官方文档

    • 查阅HarmonyOS官方文档,确保按照官方指南进行相册访问的开发。
  4. 错误代码分析

    • 针对报错信息中的错误代码进行具体分析,如“System inner fail”可能涉及系统内部错误,需要更详细的日志信息来定位问题。
  5. 系统兼容性

    • 确认应用是否兼容当前运行的HarmonyOS版本,不同版本可能存在差异。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部