js-apis-inner-application-context.md 3.8 KB
Newer Older
M
m00512953 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
# Context模块

Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。

## 属性

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

| 名称          | 类型     | 可读   | 可写   | 说明      |
| ----------- | ------ | ---- | ---- | ------- |
| resourceManager     | resmgr.ResourceManager | 是    | 否    | 资源管理对象。   |
| applicationInfo | ApplicationInfo | 是    | 否    | 当前应用程序的信息。 |
| cacheDir | string | 是    | 否    | 缓存目录。 |
| tempDir | string | 是    | 否    | 临时目录。 |
| filesDir | string | 是    | 否    | 文件目录。 |
| databaseDir | string | 是    | 否    | 数据库目录。 |
| preferencesDir | string | 是    | 否    | preferences目录。 |
| bundleCodeDir | string | 是    | 否    | 安装包目录。 |
| distributedFilesDir | string | 是    | 否    | 分布式文件目录。 |
| eventHub | string | 是    | 否    | 事件中心,提供订阅、取消订阅、触发事件对象。 |
| area | [AreaMode](#areamode) | 是    | 否    | 文件分区信息。 |


## Context.createBundleContext

createBundleContext(bundleName: string): Context;

根据包名创建安装包的上下文Context。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

D
merge  
donglin 已提交
39
| 名称       | 类型                     | 必填   | 说明            |
M
m00512953 已提交
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| -------- | ---------------------- | ---- | ------------- |
| bundleName | string | 是    | 包名。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Context | 安装包的上下文Context。 |

**示例:**

```ts
let bundleContext = this.context.createBundleContext("com.example.test");
```

## Context.createModuleContext

createModuleContext(moduleName: string): Context;

根据模块名创建上下文Context。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

D
merge  
donglin 已提交
65
| 名称       | 类型                     | 必填   | 说明            |
M
m00512953 已提交
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| -------- | ---------------------- | ---- | ------------- |
| moduleName | string | 是    | 模块名。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Context | 上下文Context。 |

**示例:**

```ts
let moduleContext = this.context.createModuleContext("entry");
```

createModuleContext(bundleName: string, moduleName: string): Context;

根据包名和模块名创建上下文Context。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

D
merge  
donglin 已提交
89
| 名称       | 类型                     | 必填   | 说明            |
M
m00512953 已提交
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| -------- | ---------------------- | ---- | ------------- |
| bundleName | string | 是    | 包名。 |
| moduleName | string | 是    | 模块名。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Context | 上下文Context。 |

**示例:**

```ts
let moduleContext = this.context.createModuleContext("com.example.test", "entry");
```

## Context.getApplicationContext

getApplicationContext(): ApplicationContext;

获取应用上下文Context。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Context | 应用上下文Context。 |

**示例:**

```ts
let applicationContext = this.context.getApplicationContext();
```

## AreaMode

文件分区

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core

| 名称 | 值 | 说明 | 
| -------- | -------- | -------- |
| EL1 | 0 | 设备级加密区。 | 
| EL2 | 1 | 用户凭据加密区。 |