harmony 鸿蒙应用接入数据备份恢复
应用接入数据备份恢复
应用接入数据备份恢复需要通过BackupExtensionAbility实现。
BackupExtensionAbility,是Stage模型中扩展组件ExtensionAbility的派生类。开发者可以通过修改配置文件定制备份恢复框架的行为,包括是否允许备份恢复,备份哪些文件等。
约束与限制
- 当备份恢复时,所有待备份文件及目录的路径不得超过4095字节,否则将导致未定义行为。
- 当备份目录时,应用进程必须拥有读取该目录及其所有子目录的权限(DAC中的
r
),否则将导致备份失败。 - 当备份文件时,应用进程必须拥有搜索该文件所有祖父级目录的权限(DAC中的
x
),否则将导致备份失败。
开发步骤
- 在应用配置文件
module.json5
中注册extensionAbilities
相关配置
新增"extensionAbilities"
字段,其中注册类型"type"
设置为"backup"
,元数据信息“metadata”新增一个"name"
为"ohos. extension. backup"
的条目。
BackupExtensionAbility配置文件示例:
{
"extensionAbilities": [
{
"description": "$string:ServiceExtAbility",
"icon": "$media:icon",
"name": "BackupExtensionAbility",
"type": "backup",
"visible": true,
"metadata": [
{
"name": "ohos.extension.backup",
"resource": "$profile:backup_config"
}
],
"srcEntrance": "",
}
]
}
- 新增元数据资源配置文件
在元数据资源配置文件中,定义备份恢复时需要传输的文件。元数据资源配置文件名称需要与module.json5
中"metadata.resource"
名称保持一致,其保存位置在工程的resource/profile
文件夹下。
元数据资源配置文件示例:
{
"allowToBackupRestore": true,
"includes": [
"/data/storage/el2/base/files/users/*/*.json"
],
"excludes": [
"/data/storage/el2/base/files/users/*/hidden.json"
],
}
元数据资源配置文件说明
属性名称 | 数据类型 | 必填 | 含义 |
---|---|---|---|
allowToBackupRestore | 布尔值 | 是 | 是否允许备份恢复,默认为false |
includes | 字符串数组 | 否 | 应用沙箱中需要备份的文件和目录。 数组中的每一项均为模式串,可包含SHELL风格通配符( * ,? ,[ )。当模式串以非/开始时,表示一个相对于根路径的相对路径。 当 includes 已配置时,备份恢复框架会采用开发者配置的模式串,否则将会采用下述代码段内容作为默认值。 |
excludes | 字符串数组 | 否 | includes 中无需备份的例外项。格式同includes 。当 excludes 已配置时,备份恢复框架会采用开发者配置的模式串,否则将会采用空数组作为默认值。 |
includes默认值:
{
"includes": [
"data/storage/el2/database/",
"data/storage/el2/base/files/",
"data/storage/el2/base/preferences/",
"data/storage/el2/base/haps/*/database/",
"data/storage/el2/base/haps/*/files/",
"data/storage/el2/base/haps/*/preferences/",
]
}
相关实例
针对应用接入数据的备份与恢复,有以下相关实例可供参考:
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦