HarmonyOS鸿蒙Next中如何替换ohos.permission.READ_MEDIA权限

HarmonyOS鸿蒙Next中如何替换ohos.permission.READ_MEDIA权限 应用申请ohos.permission.READ_MEDIA权限即将下线,请使用@ohos.file.photoAccessHelper替换;参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-releases/changelogs-targeting-api12-b025-0000001929347080#section19650175792712

我们按照如下方式获取报错,卸载重装还是报错

07-02 19:45:09.005  64524-64524 A03D00/JSAPP     com.edraw...master.h E   getAlbumsCallback failed with err: 14000011, medialibrary inner fail
console.info('getAssets');

let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context);
let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates();
predicates.equalTo('album_name', 'newAlbumName');
let fetchOptions: photoAccessHelper.FetchOptions = {
  fetchColumns: [],
  predicates: predicates
};
return new Promise<string>((r,j) => {
  phAccessHelper.getAlbums(photoAccessHelper.AlbumType.USER, photoAccessHelper.AlbumSubtype.USER_GENERIC, fetchOptions, async (err, fetchResult) => {
    if (err) {
      console.error(`getAlbumsCallback failed with err: ${err.code}, ${err.message}`);
      j()
      return;
    }
    if (fetchResult === undefined) {
      console.error('getAlbumsCallback fetchResult is undefined');
      j()
      return;
    }
    let album = await fetchResult.getFirstObject();

    console.info('getAlbumsCallback successfully, albumName: ' + album.albumName);
    fetchResult.close();
    r(album.albumUri)
  });
})

更多关于HarmonyOS鸿蒙Next中如何替换ohos.permission.READ_MEDIA权限的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

给的链接 提示这个 访问不了
请使用经授权的华为账号查阅该文档

更多关于HarmonyOS鸿蒙Next中如何替换ohos.permission.READ_MEDIA权限的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以再检查下完整代码是否有误

在HarmonyOS鸿蒙Next中,替换ohos.permission.READ_MEDIA权限可以通过修改应用的配置文件config.json来实现。具体步骤如下:

  1. 打开应用工程中的config.json文件。
  2. module节点的requestPermissions数组中找到ohos.permission.READ_MEDIA权限的声明。
  3. 将该权限声明替换为新的权限声明。例如,如果需要替换为ohos.permission.WRITE_MEDIA,则将"name": "ohos.permission.READ_MEDIA"修改为"name": "ohos.permission.WRITE_MEDIA"
  4. 保存config.json文件。

修改后的config.json文件示例如下:

{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.WRITE_MEDIA",
        "reason": "需要写入媒体文件"
      }
    ]
  }
}

完成上述操作后,重新编译并部署应用,新的权限将生效。

在HarmonyOS鸿蒙Next中,ohos.permission.READ_MEDIA权限已被弃用,建议使用新的权限替代。你可以使用ohos.permission.READ_MEDIA_IMAGESohos.permission.READ_MEDIA_VIDEOohos.permission.READ_MEDIA_AUDIO来替代,具体取决于你需要访问的媒体类型。在应用的config.json文件中,将旧权限替换为相应的新权限,并确保在代码中正确处理权限请求。

回到顶部