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-->