HarmonyOS鸿蒙Next中卸载app怎么保留app拍摄的照片、录音、视频、数据库等文件,再次安装能直接用

HarmonyOS鸿蒙Next中卸载app怎么保留app拍摄的照片、录音、视频、数据库等文件,再次安装能直接用

app为工具类,会产生照片录音视频文件等成果文件,部分数据会存到数据库,这些数据量比较多,并且app能随时访问,现在只能存到沙箱中,但沙箱中的数据app卸载了就会删除,怎么让其不删除,再次安装app又能正常使用这些数据?文档中提了个“ 新增关键资产” 但这只是简单的键值对保存普通数据。

3 回复

可以在公共的Download或者Document目录新建一个你应用的目录来操作,但是这样会产生垃圾数据,建议应用内提供导入导出功能来解决(如果用户想保留文件就导出数据)

关键资产不应该用来处理你这个需求。

更多关于HarmonyOS鸿蒙Next中卸载app怎么保留app拍摄的照片、录音、视频、数据库等文件,再次安装能直接用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,应用数据存储在应用沙箱内。卸载应用时,需提前将媒体文件和数据库手动迁移到公共目录(如DCIM、Movies、Documents等)。可使用MediaLibrary API管理媒体文件,使用文件管理API将数据库复制到公共目录。重新安装后,应用需从公共目录读取这些文件。注意:应用专属的私有数据(如内部配置)无法保留,仅能保留用户显式迁移的文件。

在HarmonyOS Next中,要实现卸载应用时保留用户数据并支持后续安装继续使用,可以通过以下方案实现:

  1. 使用公共目录存储媒体文件:
  • 将照片、视频、录音等媒体文件存储在媒体库公共目录中(如media/photomedia/video等)
  • 使用@ohos.file.fs@ohos.file.photoAccessHelper等API访问这些目录
  • 这些目录中的文件不会被应用卸载时删除
  1. 数据库迁移方案:
  • 将数据库文件存储在应用沙箱外的公共数据目录
  • 使用@ohos.file.fsmovecopyAPI将数据库迁移到公共目录
  • 再次安装时检查并迁移回应用沙箱
  1. 关键数据备份方案:
  • 对于少量结构化数据,可以使用@ohos.data.preferences持久化存储
  • 这些数据会保留在设备上,即使应用卸载也不会删除

注意:需要提前申请对应的文件访问权限(如ohos.permission.READ_MEDIA等),并在应用首次运行时处理数据迁移逻辑。

回到顶部