1# @ohos.file.BackupExtensionContext (备份恢复扩展能力) 2 3BackupExtensionContext是BackupExtension的上下文环境,继承自ExtensionContext。 4 5BackupExtensionContext模块提供访问特定BackupExtension的资源的能力,对于拓展的BackupExtension,可直接将BackupExtensionContext作为上下文环境,或者定义一个继承自BackupExtensionContext的类型作为上下文环境。 6 7> **说明:** 8> 9> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10> - 本模块接口仅可在Stage模型下使用。 11 12## 导入模块 13 14```ts 15import { BackupExtensionContext } from '@kit.CoreFileKit'; 16``` 17 18## 属性 19 20**系统能力**:SystemCapability.FileManagement.StorageService.Backup 21 22| 名称 | 类型 | 必填 | 说明 | 23| -------- | -------- | -------- | -------- | 24| backupDir<sup>12+</sup> | string | 是 | 获取备份恢复时的临时路径,该路径只允许在备份恢复过程中作为临时路径使用,不允许应用将该路径作为其他用途来使用。目前只支持el1, el2路径 | 25 26## 使用场景 27BackupExtensionContext主要用于获取备份恢复过程中的临时路径。 28 29**示例:** 30 31```ts 32import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; 33import { contextConstant } from '@kit.AbilityKit'; 34 35export default class MyBackupExtAbility extends BackupExtensionAbility { 36 async onBackup() { 37 console.log("onBackup begin"); 38 // 使用者可通过改变 this.context.area 来进行切换el1,el2对应的沙箱路径 39 this.context.area = contextConstant.AreaMode.EL1; 40 // 使用者可通过 this.context.backupDir 对沙箱路径进行获取 41 let dir = this.context.backupDir; 42 console.log(`onBackup el1 dir: ${dir}`); 43 this.context.area = contextConstant.AreaMode.EL2; 44 dir = this.context.backupDir; 45 console.log(`onBackup el2 dir: ${dir}`); 46 console.log("onBackup end"); 47 } 48 49 async onRestore() { 50 console.log("onRestore begin"); 51 this.context.area = contextConstant.AreaMode.EL1; 52 let dir = this.context.backupDir; 53 console.log(`onRestore el1 dir: ${dir}`); 54 this.context.area = contextConstant.AreaMode.EL2; 55 dir = this.context.backupDir; 56 console.log(`onRestore el2 dir: ${dir}`); 57 console.log("onRestore end"); 58 } 59} 60``` 61 62 63