• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Context (System API)
2
3The Context module provides context for abilities or applications. It allows access to application-specific resources.
4
5> **NOTE**
6>
7>  - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8>  - The APIs of this module can be used only in the stage model.
9>  - The APIs provided by this module are system APIs.
10
11## Modules to Import
12
13```ts
14import { common } from '@kit.AbilityKit';
15```
16
17## Context
18
19### createBundleContext<sup>(deprecated)</sup>
20
21createBundleContext(bundleName: string): Context
22
23Creates the context based on the bundle name.
24
25> **NOTE**
26>
27> If there are multiple modules in the stage model, resource ID conflicts may occur. You are advised to use [application.createModuleContext](./js-apis-app-ability-application-sys.md#applicationcreatemodulecontext12) instead.
28>
29> This API is deprecated since API version 12. You are advised to use [application.createBundleContext](./js-apis-app-ability-application-sys.md#applicationcreatebundlecontext12) instead.
30
31**System API**: This is a system API.
32
33**Required permissions**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
34
35**System capability**: SystemCapability.Ability.AbilityRuntime.Core
36
37**Parameters**
38
39| Name      | Type                    | Mandatory  | Description           |
40| -------- | ---------------------- | ---- | ------------- |
41| bundleName | string | Yes   | Bundle name.|
42
43**Return value**
44
45| Type| Description|
46| -------- | -------- |
47| Context | Context created.|
48
49**Error codes**
50
51For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
52
53| ID| Error Message|
54| ------- | -------------------------------- |
55| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
56
57**Example**
58
59```ts
60import { common, UIAbility } from '@kit.AbilityKit';
61import { BusinessError } from '@kit.BasicServicesKit';
62
63export default class EntryAbility extends UIAbility {
64  onCreate() {
65    console.log('MyAbility onCreate');
66    let bundleContext: common.Context;
67    try {
68      bundleContext = this.context.createBundleContext('com.example.test');
69    } catch (error) {
70      console.error(`createBundleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
71    }
72  }
73}
74```
75
76### createModuleContext<sup>(deprecated)</sup>
77
78createModuleContext(bundleName: string, moduleName: string): Context
79
80Creates the context based on the bundle name and module name.
81
82> **NOTE**
83>
84> This API is deprecated since API version 12. You are advised to use [application.createModuleContext](./js-apis-app-ability-application-sys.md#applicationcreatemodulecontext12) instead.
85
86**System API**: This is a system API.
87
88**System capability**: SystemCapability.Ability.AbilityRuntime.Core
89
90**Parameters**
91
92| Name      | Type                    | Mandatory  | Description           |
93| -------- | ---------------------- | ---- | ------------- |
94| bundleName | string | Yes   | Bundle name.|
95| moduleName | string | Yes   | Module name.|
96
97**Return value**
98
99| Type| Description|
100| -------- | -------- |
101| Context | Context created.|
102
103**Error codes**
104
105For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
106
107| ID| Error Message|
108| ------- | -------------------------------- |
109| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
110
111**Example**
112
113```ts
114import { common, UIAbility } from '@kit.AbilityKit';
115import { BusinessError } from '@kit.BasicServicesKit';
116
117export default class EntryAbility extends UIAbility {
118  onCreate() {
119    console.log('MyAbility onCreate');
120    let moduleContext: common.Context;
121    try {
122      moduleContext = this.context.createModuleContext('com.example.test', 'entry');
123    } catch (error) {
124      console.error(`createModuleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
125    }
126  }
127}
128```
129
130### createModuleResourceManager<sup>11+</sup>
131
132createModuleResourceManager(bundleName: string, moduleName: string): resmgr.ResourceManager
133
134Creates a resource management object for a module.
135
136**System API**: This is a system API.
137
138**Required permissions**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
139
140**System capability**: SystemCapability.Ability.AbilityRuntime.Core
141
142**Parameters**
143
144| Name      | Type                    | Mandatory  | Description           |
145| -------- | ---------------------- | ---- | ------------- |
146| bundleName | string | Yes   | Bundle name.|
147| moduleName | string | Yes   | Module name.|
148
149**Return value**
150
151| Type| Description|
152| -------- | -------- |
153| [resmgr.ResourceManager](../apis-localization-kit/js-apis-resource-manager.md#resourcemanager) | Object for resource management.|
154
155**Error codes**
156
157For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
158
159| ID| Error Message|
160| ------- | -------------------------------- |
161| 201 | Permission denied. |
162| 202 | Permission denied, non-system app called system api. |
163| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
164
165**Example**
166
167```ts
168import { UIAbility } from '@kit.AbilityKit';
169import { resourceManager } from '@kit.LocalizationKit';
170import { BusinessError } from '@kit.BasicServicesKit';
171
172export default class EntryAbility extends UIAbility {
173  onCreate() {
174    console.log('MyAbility onCreate');
175    let ModuleResourceManager: resourceManager.ResourceManager;
176    try {
177      ModuleResourceManager = this.context.createModuleResourceManager('com.example.test', 'entry');
178    } catch (error) {
179      console.error(`createModuleResourceManager failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
180    }
181  }
182}
183```
184### createSystemHspModuleResourceManager<sup>12+</sup>
185
186createSystemHspModuleResourceManager(bundleName: string, moduleName: string): resmgr.ResourceManager
187
188Creates a [resource manager](../apis-localization-kit/js-apis-resource-manager.md#resourcemanager) for an OEM-preset [system-level HSP](../../quick-start/application-package-glossary.md#system-level-hsp).
189
190**System API**: This is a system API.
191
192**System capability**: SystemCapability.Ability.AbilityRuntime.Core
193
194**Parameters**
195
196| Name      | Type    | Mandatory  | Description  |
197| -------- |--------| ---- |------|
198| bundleName | string | Yes   | Bundle name. |
199| moduleName | string | Yes   | Module name.|
200
201**Error codes**
202
203For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Ability Error Codes](errorcode-ability.md).
204
205| ID| Error Message|
206| ------- | -------------------------------- |
207| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
208| 16400001 | The input bundleName is not a system HSP. |
209
210**Example**
211
212```ts
213import { UIAbility } from '@kit.AbilityKit';
214
215export default class EntryAbility extends UIAbility {
216  onCreate() {
217    console.log('MyAbility onCreate');
218    this.context.createSystemHspModuleResourceManager("com.example.myapplication", "library");
219  }
220}
221```
222
223<!--no_check-->