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