用户在使用应用的过程中,会产生对应的应用数据,如配置信息、业务数据等。为了保证用户数据不会因为应用升级、迁移等操作而丢失,应用需要接入数据备份恢复。
在开发前,需要先了解ExtensionAbility组件,建议参考ExtensionAbility组件概述。
BackupExtensionAbility是Stage模型中扩展组件ExtensionAbility的派生类,用于提供备份及恢复应用数据的能力。它是一种无界面的扩展组件,随着备份恢复任务的启动而运行,随着备份恢复任务的结束而退出。
不同应用所需实现的场景不同,分为:
应用接入数据备份恢复:应用均可以接入数据备份恢复,在接入后,应用可通过修改配置文件定制备份恢复框架的行为,包括是否允许备份恢复、备份哪些数据。
应用本身无法触发数据的备份和恢复,仅能进行备份恢复的配置。
应用接入数据备份恢复需要通过BackupExtensionAbility实现。
BackupExtensionAbility,是Stage模型中扩展组件ExtensionAbility的派生类。开发者可以通过修改配置文件定制备份恢复框架的行为,包括是否允许备份恢复,备份哪些文件等。
备份恢复扩展能力API的接口使用指导请参见BackupExtensionAbility API参考和BackupExtensionContext API参考。
开发者可根据自身的业务场景,选择对应的恢复数据方式。以临时路径 /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/"
]
}