• 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.createBundleContext
18
19createBundleContext(bundleName: string): Context
20
21Creates the context based on the bundle name.
22
23**NOTE**
24>
25> If there are multiple modules in the stage model, resource ID conflicts may occur. You are advised to use [Context.createModuleContext](#contextcreatemodulecontext) instead.
26
27**System API**: This is a system API.
28
29**Required permissions**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
30
31**System capability**: SystemCapability.Ability.AbilityRuntime.Core
32
33**Parameters**
34
35| Name      | Type                    | Mandatory  | Description           |
36| -------- | ---------------------- | ---- | ------------- |
37| bundleName | string | Yes   | Bundle name. |
38
39**Return value**
40
41| Type | Description |
42| -------- | -------- |
43| Context | Context created. |
44
45**Error codes**
46
47For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
48
49| ID | Error Message |
50| ------- | -------------------------------- |
51| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
52
53**Example**
54
55```ts
56import { common, UIAbility } from '@kit.AbilityKit';
57import { BusinessError } from '@kit.BasicServicesKit';
58
59export default class EntryAbility extends UIAbility {
60  onCreate() {
61    console.log('MyAbility onCreate');
62    let bundleContext: common.Context;
63    try {
64      bundleContext = this.context.createBundleContext('com.example.test');
65    } catch (error) {
66      console.error(`createBundleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
67    }
68  }
69}
70```
71
72## Context.createModuleContext
73
74createModuleContext(bundleName: string, moduleName: string): Context
75
76Creates the context based on the bundle name and module name.
77
78**System API**: This is a system API.
79
80**System capability**: SystemCapability.Ability.AbilityRuntime.Core
81
82**Parameters**
83
84| Name      | Type                    | Mandatory  | Description           |
85| -------- | ---------------------- | ---- | ------------- |
86| bundleName | string | Yes   | Bundle name. |
87| moduleName | string | Yes   | Module name. |
88
89**Return value**
90
91| Type | Description |
92| -------- | -------- |
93| Context | Context created. |
94
95**Error codes**
96
97For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
98
99| ID | Error Message |
100| ------- | -------------------------------- |
101| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
102
103**Example**
104
105```ts
106import { common, UIAbility } from '@kit.AbilityKit';
107import { BusinessError } from '@kit.BasicServicesKit';
108
109export default class EntryAbility extends UIAbility {
110  onCreate() {
111    console.log('MyAbility onCreate');
112    let moduleContext: common.Context;
113    try {
114      moduleContext = this.context.createModuleContext('com.example.test', 'entry');
115    } catch (error) {
116      console.error(`createModuleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
117    }
118  }
119}
120```
121
122## Context.createModuleResourceManager<sup>11+</sup>
123
124createModuleResourceManager(bundleName: string, moduleName: string): resmgr.ResourceManager
125
126Creates a resource management object for a module.
127
128**System API**: This is a system API.
129
130**Required permissions**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
131
132**System capability**: SystemCapability.Ability.AbilityRuntime.Core
133
134**Parameters**
135
136| Name      | Type                    | Mandatory  | Description           |
137| -------- | ---------------------- | ---- | ------------- |
138| bundleName | string | Yes   | Bundle name. |
139| moduleName | string | Yes   | Module name. |
140
141**Return value**
142
143| Type | Description |
144| -------- | -------- |
145| resmgr.ResourceManager | Object for resource management. |
146
147**Error codes**
148
149For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
150
151| ID | Error Message |
152| ------- | -------------------------------- |
153| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
154
155**Example**
156
157```ts
158import { UIAbility } from '@kit.AbilityKit';
159import { resourceManager } from '@kit.LocalizationKit';
160import { BusinessError } from '@kit.BasicServicesKit';
161
162export default class EntryAbility extends UIAbility {
163  onCreate() {
164    console.log('MyAbility onCreate');
165    let ModuleResourceManager: resourceManager.ResourceManager;
166    try {
167      ModuleResourceManager = this.context.createModuleResourceManager('com.example.test', 'entry');
168    } catch (error) {
169      console.error(`createModuleResourceManager failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
170    }
171  }
172}
173```
174## Context.createSystemHspModuleResourceManager<sup>12+</sup>
175
176createSystemHspModuleResourceManager(bundleName: string, moduleName: string): resmgr.ResourceManager
177
178Creates a resource manager object for a module of the system-level HSP.
179
180**System API**: This is a system API.
181
182**System capability**: SystemCapability.Ability.AbilityRuntime.Core
183
184**Parameters**
185
186| Name      | Type    | Mandatory  | Description  |
187| -------- |--------| ---- |------|
188| bundleName | string | Yes   | Bundle name. |
189| moduleName | string | Yes   | Module name. |
190
191**Error codes**
192
193For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Ability Error Codes](errorcode-ability.md).
194
195| ID | Error Message |
196| ------- | -------------------------------- |
197| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
198| 16400001 | The specified ability does not exist. |
199
200**Example**
201
202```ts
203import { UIAbility } from '@kit.AbilityKit';
204
205export default class EntryAbility extends UIAbility {
206  onCreate() {
207    console.log('MyAbility onCreate');
208    this.context.createSystemHspModuleResourceManager("com.example.myapplication", "library");
209  }
210}
211```
212