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