HarmonyOS 鸿蒙Next服务卡片进入应用无法选择相册图片,PhotoViewPicker失效,直接应用内进入正常

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

HarmonyOS 鸿蒙Next服务卡片进入应用无法选择相册图片,PhotoViewPicker失效,直接应用内进入正常 通过服务卡片进入应用无法通过PhotoViewPicker来选择相册中的图片,直接通过应用进入正常,请问是有哪里的权限设置吗?

const photoSelectOptions = new picker.PhotoSelectOptions();
photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = maxPhotoNumber - selectedNumber; // 选择媒体文件的最大数目

let URI = null;
const photoViewPicker = new picker.PhotoViewPicker();

photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
  this.photoUriArray=photoSelectResult.photoUris;
}).catch((err: BusinessError) => {
  console.error(`Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}`);
})

显示选择的照片

ForEach(this.photoUriArray, (item: string, index) => {
  Image(item)
    .width(100).height(100).margin({ right: 10, top: 10 })
    .onClick(() => {
      this.currentIndex = index;
    })

}, (item: string) => item)

更多关于HarmonyOS 鸿蒙Next服务卡片进入应用无法选择相册图片,PhotoViewPicker失效,直接应用内进入正常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

photoViewPicker 挑选照片需要 READ_IMAGEVIDEO 权限,保存则需要 WRITE_IMAGEVIDEO。两者皆为受控权限需要去 AGC 申请。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/photoaccesshelper-preparation-V5

更多关于HarmonyOS 鸿蒙Next服务卡片进入应用无法选择相册图片,PhotoViewPicker失效,直接应用内进入正常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


确实加一个校验是否已授权就可以了。

针对HarmonyOS鸿蒙Next服务卡片进入应用无法选择相册图片,PhotoViewPicker失效的问题,这通常是由于服务卡片在特定上下文或权限设置下无法正确调用相册选择器组件所导致的。

在鸿蒙系统中,服务卡片作为轻量级的应用入口,其行为和权限可能受到一定的限制。当从服务卡片尝试进入应用并选择相册图片时,如果系统未能正确识别或授权该操作,就可能导致PhotoViewPicker失效。

解决方法可能涉及检查并调整以下几个方面:

  1. 权限配置:确保应用在manifest文件中已正确声明了访问相册的权限,并且在运行时也获得了用户的授权。

  2. 上下文管理:检查服务卡片启动相册选择器的上下文是否正确设置,包括是否有必要的Activity上下文支持。

  3. 系统兼容性:确认当前鸿蒙系统版本是否支持服务卡片中的相册选择器功能,或者是否存在已知的兼容性问题。

  4. 代码审查:仔细检查PhotoViewPicker的调用代码,确保没有逻辑错误或遗漏。

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

回到顶部