# @ohos.application.BackupExtensionAbility (备份恢复扩展能力)(系统接口) BackupExtensionAbility模块提供备份恢复服务相关扩展能力,为应用提供扩展的备份恢复能力。 > **说明:** > > - 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > - 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.application.BackupExtensionAbility (备份恢复扩展能力)](js-apis-application-backupExtensionAbility-sys.md)。 > - 本模块接口仅可在Stage模型下使用。 ## 导入模块 ```ts import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; ``` ### getBackupInfo12+ getBackupInfo(): string 在调用方查询应用数据时执行,由开发者提供扩展查询应用数据的操作。 **系统接口**:此接口为系统接口 **系统能力**:SystemCapability.FileManagement.StorageService.Backup **返回值:** | 类型 | 说明 | | --------------------- | :---- | | string | 应用自定义的备份信息。| **示例:** ```ts class BackupExt extends BackupExtensionAbility { getBackupInfo(): string { console.info('getBackupInfo ok'); let info = "app diy info"; return info; } } ``` ### getBackupCompatibilityInfo20+ getBackupCompatibilityInfo(extInfo: string): Promise<string> 在应用备份阶段,调用方获取应用自定义的能力描述信息时执行,由应用实现返回。使用Promise进行异步回调。 **系统接口**:此接口为系统接口 **系统能力**:SystemCapability.FileManagement.StorageService.Backup **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------------- | ------------------------------- | ---- | ------------------------------ | | extInfo | string | 是 | 传递给应用的额外信息,由应用自行处理。| **返回值:** | 类型 | 说明 | | --------------------- | :---- | | Promise<string> | Promise对象,备份过程中应用自定义的能力描述信息。| **示例:** ```ts class BackupExt extends BackupExtensionAbility { async getBackupCompatibilityInfo(extInfo: string): Promise { let ret: string = ''; try { // 此处仅以Json为示范,相应判断逻辑及相应字段由应用自定义 if (!extInfo) { ret = '{"dbVersion": "1.0", "isThemCardEnable": "true"}'; } else { let extJson: Record = JSON.parse(extInfo); if (extJson?.requireCompatibility) { ret = '{"isSupportBackup": "true"}'; } else { ret = '{"isSupportBackup": "false"}'; } } } catch (error) { console.error(`getBackupCompatibilityInfo failed with error. Code: ${error.code}, message: ${error.message}`); } return JSON.stringify(ret); } } ``` ### getRestoreCompatibilityInfo20+ getRestoreCompatibilityInfo(extInfo: string): Promise<string> 在应用恢复阶段,调用方获取应用自定义的能力描述信息时执行,由应用实现返回。使用Promise进行异步回调。 **系统接口**:此接口为系统接口 **系统能力**:SystemCapability.FileManagement.StorageService.Backup **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------------- | ------------------------------- | ---- | ------------------------------ | | extInfo | string | 是 | 传递给应用的额外信息,由应用自行处理。| **返回值:** | 类型 | 说明 | | --------------------- | :---- | | Promise<string> | Promise对象,恢复过程中应用自定义的能力描述信息。| **示例:** ```ts class BackupExt extends BackupExtensionAbility { async getRestoreCompatibilityInfo(extInfo: string): Promise { let ret: string = ''; try { // 此处仅以Json为示范,相应判断逻辑及相应字段由应用自定义 if (!extInfo) { ret = '{"dbVersion": "1.0", "isThemCardEnable": "true"}'; } else { let extJson: Record = JSON.parse(extInfo); if (extJson?.requireCompatibility) { ret = '{"isSupportRestore": "true"}'; } else { ret = '{"isSupportRestore": "false"}'; } } } catch (error) { console.error(`getRestoreCompatibilityInfo failed with error. Code: ${error.code}, message: ${error.message}`); } return JSON.stringify(ret); } } ```