HarmonyOS 鸿蒙Next 使用documentViewPicker.save拿到的临时URI在模拟器上正常写入文件,真机上报无权限
HarmonyOS 鸿蒙Next 使用documentViewPicker.save拿到的临时URI在模拟器上正常写入文件,真机上报无权限
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在模拟器上能正常写入文件,但在真机上出现无权限问题,这通常是由于真机的权限管理更为严格所致。具体来说,可能涉及以下几个方面的权限设置:
-
存储权限:确保你的应用已在
config.json
中声明了必要的存储权限,如ohos.permission.WRITE_EXTERNAL_STORAGE
。 -
临时URI访问权限:从
documentViewPicker.save
获取的URI可能是临时的,需要确保在URI有效期内进行文件操作。同时,某些URI可能需要通过ContentResolver
进行访问,而非直接通过文件路径。 -
运行时权限请求:对于涉及用户隐私的权限,如存储权限,需要在运行时向用户请求,并确保用户已授予。
-
真机特性:不同品牌和型号的真机可能对权限管理有额外的限制或要求,需要查阅相关设备的开发者文档或进行测试适配。
请检查上述方面是否都已妥善处理。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。