从API版本26.0.1开始,新增企业批量部署还原能力。
该能力提供查询待备份用户数据大小、用户数据备份、用户数据还原、查询可备份应用列表、查询待备份应用沙箱数据大小、备份应用沙箱数据、还原应用沙箱数据以及取消备份还原操作的功能,支持企业普通应用和企业MDM应用完成应用沙箱数据和用户数据的备份与还原。
详细接口说明可参考接口文档。
| 接口名 | 描述 |
|---|---|
| getUserBackupDataSize(): Promise<number> | 获取待备份用户的数据量大小。使用Promise异步回调。 |
| backupUserData(dest: string, progressCallback: BackupRestoreProgressCallback): Promise<void> | 备份用户数据,使用Promise异步回调。 |
| restoreUserData(src: string, progressCallback: BackupRestoreProgressCallback, options?: RestoreUserDataOptions): Promise<void> | 还原用户数据,使用Promise异步回调。 |
| getAllowedBackupAndRestoreBundleList(): Promise<BundleInfo[]> | 获取可备份或还原的应用信息列表,使用Promise异步回调。 |
| getBundlesBackupDataSize(bundleList: string[]): Promise<number> | 获取待备份的应用沙箱数据量大小,使用Promise异步回调。 |
| backupBundles(bundleList: string[], dest: string, progressCallback: BackupRestoreProgressCallback): Promise<void> | 备份应用沙箱数据,使用Promise异步回调。 |
| restoreBundles(bundleList: string[], src: string, progressCallback: BackupRestoreProgressCallback): Promise<void> | 还原应用沙箱数据,使用Promise异步回调。 |
| cancelBackupRestore(): Promise<void> | 取消备份或还原操作,使用Promise异步回调。 |
在申请权限前,请保证符合权限使用的基本原则。并且在工程模块对应的module.json5配置文件中requestPermissions标签下声明所需的权限。申请权限ohos.permission.ENTERPRISE_MANAGE_BACKUP,该能力受限开放,仅支持企业普通应用和企业MDM应用接入。
示例:
{
"requestPermissions": [
{
"name": "ohos.permission.ENTERPRISE_MANAGE_BACKUP"
}
]
} 导入模块。
import { enterpriseDeployRestore } from '@kit.EnterpriseFoundationKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { common } from '@kit.AbilityKit';
import { fileIo as fs } from '@kit.CoreFileKit';
import { hilog } from '@kit.PerformanceAnalysisKit'; 在待备份设备,调用接口backupUserData,备份用户数据。
用户数据备份内容不包含“图片”目录中的“图库”,如果需要备份“图库”里的数据,需要通过备份应用沙箱数据接口实现。
在待备份设备,调用接口getAllowedBackupAndRestoreBundleList,获取可备份或还原的应用信息列表。
在待备份设备,调用接口getBundlesBackupDataSize,获取待备份的应用沙箱数据量大小。
在待备份设备,调用接口backupBundles,备份指定应用的沙箱数据。指定应用沙箱数据的备份路径清单:
"data/storage/el1/database/", "data/storage/el1/base/files/", "data/storage/el1/base/preferences/", "data/storage/el1/base/haps/*/files/", "data/storage/el1/base/haps/*/preferences/", "data/storage/el2/database/", "data/storage/el2/base/files/", "data/storage/el2/base/preferences/", "data/storage/el2/base/haps/*/files/", "data/storage/el2/base/haps/*/preferences/", "data/storage/el2/distributedfiles/", "data/storage/el5/database/", "data/storage/el5/base/files/", "data/storage/el5/base/preferences/", "data/storage/el5/base/haps/*/files/", "data/storage/el5/base/haps/*/preferences/"
在待还原设备,调用接口restoreUserData,将备份的用户数据还原到该设备。
用户数据还原内容不包含“图片”目录中的“图库”,如果需要还原“图库”里的数据,需要通过还原应用沙箱数据接口实现。
在待还原设备,调用接口restoreBundles,将备份的应用沙箱数据还原到该设备。
在备份或还原操作过程中,调用接口cancelBackupRestore,可以取消当前的备份或还原操作。
在待备份设备,调用接口getUserBackupDataSize,获取待备份的用户数据量大小。