HarmonyOS 鸿蒙Next photoViewPicker.select无法打开选择界面

HarmonyOS 鸿蒙Next photoViewPicker.select无法打开选择界面

await photoViewPicker.select(photoSelectOptions).then((photoSelectResult) => {
  imageUri = photoSelectResult.photoUris[0];
}).catch((err) =>{
  console.log(err)
})

使用荣耀V30 PRO做真机调试时,代码执行到select就没有向下执行了,也没有进入catch中

4 回复

还有就是模拟器无法保存文件,执行到save方法就停止了,没报错

const photoSaveOptions = new picker.PhotoSaveOptions(); // 创建文件管理器保存选项实例
photoSaveOptions.newFileNames = ["image.jpg"]; // 保存文件名(可选)

let URI: string|null = null;
const photoViewPicker = new picker.PhotoViewPicker();
photoViewPicker.save(photoSaveOptions).then((photoSaveResult) => {
  URI = photoSaveResult[0];
  let file = fs.openSync(URI, fs.OpenMode.READ_WRITE);
  fs.write(file.fd, readBuffer)

  this.status = 0;

})

更多关于HarmonyOS 鸿蒙Next photoViewPicker.select无法打开选择界面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


模拟器不能支持save,是已知bug。
真机select可在then()里打印日志看看是否有返回;另外看看API级别是否对应得上。

HarmonyOS鸿蒙Next中,`photoViewPicker.select`无法打开选择界面可能是由于以下原因:

1. 权限问题:应用可能未获取到访问相册或存储的权限。确保在`config.json`中正确配置了`ohos.permission.READ_MEDIA`和`ohos.permission.WRITE_MEDIA`权限,并在运行时动态申请这些权限。

2. API使用错误:`photoViewPicker.select`的使用方式可能存在问题。确保正确调用了`photoViewPicker.select`方法,并传递了正确的参数,如`PhotoViewPickerConfig`和`PhotoViewPickerResult`。

3. 系统版本兼容性:`photoViewPicker.select`可能不支持当前设备的HarmonyOS版本。检查设备是否运行了支持该API的HarmonyOS版本。

4. 应用配置问题:应用的配置文件可能存在问题,导致无法正常调用`photoViewPicker.select`。检查`config.json`中的相关配置是否正确。

5. 设备限制:某些设备可能不支持`photoViewPicker.select`功能。确认设备是否支持该功能。

6. 系统资源占用:系统资源占用过高可能导致`photoViewPicker.select`无法正常打开。尝试关闭其他应用释放资源。

7. 缓存问题:应用缓存可能导致`photoViewPicker.select`无法正常工作。清除应用缓存后重试。

8. 系统Bug:可能是HarmonyOS系统本身的Bug导致`photoViewPicker.select`无法打开。检查是否有相关的系统更新或补丁。

以上是可能导致`photoViewPicker.select`无法打开选择界面的原因。

在HarmonyOS中,photoViewPicker.select无法打开选择界面,可能是由于以下原因:

  1. 权限问题:确保应用已获取ohos.permission.READ_MEDIAohos.permission.WRITE_MEDIA权限。
  2. API调用错误:检查photoViewPicker.select的调用方式,确保参数配置正确。
  3. 系统兼容性:确认设备系统版本支持该API。
  4. 资源未加载:确保相关资源文件已正确加载。
  5. 日志排查:查看应用日志,定位具体错误信息。

建议逐一排查以上问题,并参考官方文档进行调试。

回到顶部