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 39 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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 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
# 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

**参数:**

| 名称       | 类型                     | 必填   | 描述            |
| -------- | ---------------------- | ---- | ------------- |
| bundleName | string | 是    | 包名。 |

**返回值:**

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

**示例:**

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

## Context.createModuleContext

createModuleContext(moduleName: string): Context;

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

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

**参数:**

| 名称       | 类型                     | 必填   | 描述            |
| -------- | ---------------------- | ---- | ------------- |
| moduleName | string | 是    | 模块名。 |

**返回值:**

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

**示例:**

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

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

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

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

**参数:**

| 名称       | 类型                     | 必填   | 描述            |
| -------- | ---------------------- | ---- | ------------- |
| 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 | 用户凭据加密区。 |