HarmonyOS 鸿蒙Next 使用documentViewPicker.save拿到的临时URI在模拟器上正常写入文件,真机上报无权限

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

HarmonyOS 鸿蒙Next 使用documentViewPicker.save拿到的临时URI在模拟器上正常写入文件,真机上报无权限

使用documentViewPicker.save拿到的临时URI在模拟器上可以正常写入文件,但是在真机上报无权限

2 回复
if(destUrl){

    try {

    let file = fs.openSync(src, fs.OpenMode.READ_ONLY);

    let file2 = fs.openSync(dst, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); //先创建有读写权限的文件,再把不可读写的文件复制过来

    fs.copyFileSync(file.fd, file2.fd);

  } catch (e) {

    console.error("txy copy error")

  }

}

在HarmonyOS鸿蒙系统中使用documentViewPicker.save方法获取的临时URI在模拟器上能正常写入文件,但在真机上出现无权限问题,这通常是由于真机的权限管理更为严格所致。具体来说,可能涉及以下几个方面的权限设置:

  1. 存储权限:确保你的应用已在config.json中声明了必要的存储权限,如ohos.permission.WRITE_EXTERNAL_STORAGE

  2. 临时URI访问权限:从documentViewPicker.save获取的URI可能是临时的,需要确保在URI有效期内进行文件操作。同时,某些URI可能需要通过ContentResolver进行访问,而非直接通过文件路径。

  3. 运行时权限请求:对于涉及用户隐私的权限,如存储权限,需要在运行时向用户请求,并确保用户已授予。

  4. 真机特性:不同品牌和型号的真机可能对权限管理有额外的限制或要求,需要查阅相关设备的开发者文档或进行测试适配。

请检查上述方面是否都已妥善处理。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部