harmony 鸿蒙Context
Context
The Context module, inherited frome BaseContext, provides context for abilities or applications, including access to application-specific resources.
NOTE
- 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.
- The APIs of this module can be used only in the stage model.
Modules to Import
import { common } from '@kit.AbilityKit';
Properties
System capability: SystemCapability.Ability.AbilityRuntime.Core
Name | Type | Read-only | Optional | Description |
---|---|---|---|---|
resourceManager | resmgr.ResourceManager | No | No | Object for resource management. Atomic service API: This API can be used in atomic services since API version 11. |
applicationInfo | ApplicationInfo | No | No | Application information. Atomic service API: This API can be used in atomic services since API version 11. |
cacheDir | string | No | No | Cache directory. Atomic service API: This API can be used in atomic services since API version 11. |
tempDir | string | No | No | Temporary directory. Atomic service API: This API can be used in atomic services since API version 11. |
resourceDir11+ | string | No | No | Resource directory. NOTE: You are required to manually create the resfile directory in <module-name>\resource. The resfile directory can be accessed only in read-only mode. Atomic service API: This API can be used in atomic services since API version 11. |
filesDir | string | No | No | File directory. Atomic service API: This API can be used in atomic services since API version 11. |
databaseDir | string | No | No | Database directory. Atomic service API: This API can be used in atomic services since API version 11. |
preferencesDir | string | No | No | Preferences directory. Atomic service API: This API can be used in atomic services since API version 11. |
bundleCodeDir | string | No | No | Bundle code directory. Do not access resource files using concatenated paths. Use @ohos.resourceManager instead. Atomic service API: This API can be used in atomic services since API version 11. |
distributedFilesDir | string | No | No | Distributed file directory. Atomic service API: This API can be used in atomic services since API version 11. |
cloudFileDir12+ | string | No | No | Cloud file directory. Atomic service API: This API can be used in atomic services since API version 12. |
eventHub | EventHub | No | No | Event hub that implements event subscription, unsubscription, and triggering. Atomic service API: This API can be used in atomic services since API version 11. |
area | contextConstant.AreaMode | No | No | Encryption level of the directory. Atomic service API: This API can be used in atomic services since API version 11. |
processName18+ | string | No | No | Process name of the current application. Atomic service API: This API can be used in atomic services since API version 18. |
Context.createModuleContext(deprecated)
createModuleContext(moduleName: string): Context
Creates the context based on the module name.
NOTE
This API is deprecated since API version 12. You are advised to use application.createModuleContext instead.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
moduleName | string | Yes | Module name. |
Return value
Type | Description |
---|---|
Context | Context created. |
Error codes
For details about the error codes, see Universal Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
Example
import { common, UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let moduleContext: common.Context;
try {
moduleContext = this.context.createModuleContext('entry');
} catch (error) {
console.error(`createModuleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
}
}
}
NOTE
Only the context of other modules in the current application and the context of the intra-application HSP can be obtained. The context of other applications cannot be obtained.
Context.getApplicationContext
getApplicationContext(): ApplicationContext
Obtains the context of this application.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Return value
Type | Description |
---|---|
ApplicationContext | Application context obtained. |
Error codes
For details about the error codes, see Universal Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
Example
import { common, UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let applicationContext: common.Context;
try {
applicationContext = this.context.getApplicationContext();
} catch (error) {
console.error(`getApplicationContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
}
}
}
Context.getGroupDir10+
getGroupDir(dataGroupID: string): Promise<string>
Obtains the shared directory based on a group ID. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
dataGroupID | string | Yes | Group ID, which is assigned by the system when an atomic service project is created. |
Return value
Type | Description |
---|---|
Promise<string> | Promise used to return the result. If no shared directory exists, null is returned. Only the encryption level EL2 is supported. |
Error codes
For details about the error codes, see Universal Error Codes and Ability Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
16000011 | The context does not exist. |
Example
import { common, UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let groupId = "1";
let getGroupDirContext: common.Context = this.context;
try {
getGroupDirContext.getGroupDir(groupId).then(data => {
console.log("getGroupDir result:" + data);
})
} catch (error) {
console.error(`getGroupDirContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
}
}
}
Context.getGroupDir10+
getGroupDir(dataGroupID: string, callback: AsyncCallback<string>): void
Obtains the shared directory based on a group ID. This API uses an asynchronous callback to return the result.
Atomic service API: This API can be used in atomic services since API version 11.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
dataGroupID | string | Yes | Group ID, which is assigned by the system when an atomic service project is created. |
callback | AsyncCallback<string> | Yes | Callback used to return the result. If no shared directory exists, null is returned. Only the encryption level EL2 is supported. |
Error codes
For details about the error codes, see Universal Error Codes and Ability Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
16000011 | The context does not exist. |
Example
import { common, UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let getGroupDirContext: common.Context = this.context;
getGroupDirContext.getGroupDir("1", (err: BusinessError, data) => {
if (err) {
console.error(`getGroupDir faile, err: ${JSON.stringify(err)}`);
} else {
console.log(`getGroupDir result is: ${JSON.stringify(data)}`);
}
});
}
}
Context.createAreaModeContext18+
createAreaModeContext(areaMode: contextConstant.AreaMode): Context
Creates the context for this application based on a data encryption level. This is required when an application needs to store different types of information in different directories. The application can obtain the corresponding directory.
Atomic service API: This API can be used in atomic services since API version 18.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
areaMode | contextConstant.AreaMode | Yes | Data encryption level. |
Return value
Type | Description |
---|---|
Context | Context created based on the data encryption level. |
Error codes
For details about the error codes, see Universal Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
Example
import { common, UIAbility, contextConstant } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
export default class EntryAbility extends UIAbility {
onCreate() {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
let areaMode: contextConstant.AreaMode = contextConstant.AreaMode.EL2;
let areaModeContext: common.Context;
try {
areaModeContext = this.context.createAreaModeContext(areaMode);
} catch (error) {
hilog.error(0x0000, 'testTag', 'createAreaModeContext error is:%{public}s', JSON.stringify(error));
}
}
}
Context.createDisplayContext15+
createDisplayContext(displayId: number): Context
Creates the context based on the specified display ID, so as to obtain and use other application contexts with screen information (including ScreenDensity and Direction).
Atomic service API: This API can be used in atomic services since API version 15.
System capability: SystemCapability.Ability.AbilityRuntime.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
displayId | number | Yes | Display ID. |
Return value
Type | Description |
---|---|
Context | Context with the specified screen information. |
Error codes
For details about the error codes, see Universal Error Codes.
ID | Error Message |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
Example
import { common, UIAbility } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
export default class EntryAbility extends UIAbility {
onCreate() {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
let displayContext: common.Context;
try {
displayContext = this.context.createDisplayContext(0);
} catch (error) {
hilog.error(0x0000, 'testTag', 'createDisplayContext error is:%{public}s', JSON.stringify(error));
}
}
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙AbilityAccessControl
harmony 鸿蒙OH_NativeBundle_ApplicationInfo
harmony 鸿蒙OH_NativeBundle_ElementName
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦