HarmonyOS 使用@ohos.file.photoAccessHelper从相册选择照片无响应?

在华为给出的测试报告中,反应应用申请ohos.permission.READ\_MEDIA和ohos.permission.WRITE\_MEDIA已下线,使用参考@ohos.file.photoAccessHelper替换。

但是,我使用 photoAccessHelper 的 getAssets 方法去实现从相册选择文件时,方法无响应,并没有调起相册;请问如何解决 ?

阅读 588
1 个回答

使用 photoAccessHelper 的 getAssets 方法需要ohos.permission.READ\_IMAGEVIDEO权限,如果是实现从相册选择文件建议使用Picker选择媒体库资源参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/photoaccesshelper-photoviewpicker-V5

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/restricted-permissions-V5\#section397164718158

//demo

import { BusinessError } from '@kit.BasicServicesKit';
import { picker } from '@kit.CoreFileKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

//选择图片
@Entry
@Component
export struct Index13 {
  img: string = '';

  private textContent: string = "选择图片"

  build() {
    Column() {
      Text(this.textContent)
        .fontSize($r("sys.float.ohos_id_text_size_body3"))
        .borderRadius(9)
        .borderWidth(1)
        .padding({ left: 8, right:8})
        .fontColor($r('sys.color.ohos_id_color_text_primary'))
        .fontWeight(FontWeight.Medium)
        .opacity($r("sys.float.ohos_id_alpha_content_secondary"))
        .onClick( () => {
          let photoSelectOptions = new picker.PhotoSelectOptions();
          photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
          photoSelectOptions.maxSelectNumber = 1;
          let photoPicker = new picker.PhotoViewPicker();
          photoPicker.select(photoSelectOptions).then((res) => {
            if (res.photoUris.length > 0) {
              this.img = res.photoUris[0]
            }
          }).catch((err: BusinessError) => {
            hilog.info(1, "hilog", 'select error: ' + err.code + ' ' + err.message)
          })
        })
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进