• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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