您的当前位置:首页正文

HarmonyOS NEXT - 应用数据备份恢复

2024-11-11 来源:个人技术集锦

应用数据备份恢复概述

 

用户在使用应用的过程中,会产生对应的应用数据,如配置信息、业务数据等。为了保证用户数据不会因为应用升级、迁移等操作而丢失,应用需要接入数据备份恢复。

在开发前,需要先了解ExtensionAbility组件,建议参考ExtensionAbility组件概述。

BackupExtensionAbility是Stage模型中扩展组件ExtensionAbility的派生类,用于提供备份及恢复应用数据的能力。它是一种无界面的扩展组件,随着备份恢复任务的启动而运行,随着备份恢复任务的结束而退出。

不同应用所需实现的场景不同,分为:

  • 应用接入数据备份恢复:应用均可以接入数据备份恢复,在接入后,应用可通过修改配置文件定制备份恢复框架的行为,包括是否允许备份恢复、备份哪些数据。

    应用本身无法触发数据的备份和恢复,仅能进行备份恢复的配置。

应用触发数据备份恢复(仅对系统应用开放)

 


应用接入数据备份恢复

 

应用接入数据备份恢复需要通过BackupExtensionAbility实现。

BackupExtensionAbility,是Stage模型中扩展组件ExtensionAbility的派生类。开发者可以通过修改配置文件定制备份恢复框架的行为,包括是否允许备份恢复,备份哪些文件等。

接口说明

备份恢复扩展能力API的接口使用指导请参见BackupExtensionAbility API参考和BackupExtensionContext API参考。

约束与限制

  • 当备份恢复时,所有待备份文件及目录的路径不得超过4095字节,否则将导致未定义行为。
  • 当备份目录时,应用进程必须拥有读取该目录及其所有子目录的权限(DAC中的r),否则将导致备份失败。
  • 当备份文件时,应用进程必须拥有搜索该文件所有祖父级目录的权限(DAC中的x),否则将导致备份失败。
  • 当启动模式标签"launchType"为"singleton"时不支持备份恢复。

开发步骤


开发者可根据自身的业务场景,选择对应的恢复数据方式。以临时路径 /data/storage/el2/base/.backup/restore/ 为例:

includes默认值:

 

includes默认值:

 

{
    "includes": [
    "data/storage/el1/database/",
    "data/storage/el1/base/files/",
    "data/storage/el1/base/preferences/",
    "data/storage/el1/base/haps/<module-name>/files/",
    "data/storage/el1/base/haps/<module-name>/preferences/",
    "data/storage/el2/database/",
    "data/storage/el2/base/files/",
    "data/storage/el2/base/preferences/",
    "data/storage/el2/base/haps/<module-name>/files/",
    "data/storage/el2/base/haps/<module-name>/preferences/",
    "data/storage/el2/distributedfiles/"
    ]
}

 

Top