harmony 鸿蒙Context (系统接口)
Context (系统接口)
Context模块提供了ability或application的上下文的能力,包括访问特定应用程序的资源等。
说明:
- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本模块接口仅可在Stage模型下使用。
- 本模块接口为系统接口。
导入模块
import { common } from '@kit.AbilityKit';
Context.createBundleContext(deprecated)
createBundleContext(bundleName: string): Context
根据Bundle名称创建安装包的上下文。
说明:
stage模型多module的情况下可能发生资源id冲突的情况,建议使用application.createModuleContext替代。
从 API Version 12 开始废弃,建议使用application.createBundleContext替代。
系统接口:此接口为系统接口。
需要权限:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | Bundle名称。 |
返回值:
类型 | 说明 |
---|---|
Context | 安装包的上下文。 |
错误码:
以下错误码详细介绍请参考通用错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
示例:
import { common, UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let bundleContext: common.Context;
try {
bundleContext = this.context.createBundleContext('com.example.test');
} catch (error) {
console.error(`createBundleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
}
}
}
Context.createModuleContext(deprecated)
createModuleContext(bundleName: string, moduleName: string): Context
根据Bundle名称和模块名称创建上下文。
说明:
从 API Version 12 开始废弃,建议使用application.createModuleContext替代。
系统接口:此接口为系统接口。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | Bundle名称。 |
moduleName | string | 是 | 模块名。 |
返回值:
类型 | 说明 |
---|---|
Context | 模块的上下文。 |
错误码:
以下错误码详细介绍请参考通用错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
示例:
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('com.example.test', 'entry');
} catch (error) {
console.error(`createModuleContext failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
}
}
}
Context.createModuleResourceManager11+
createModuleResourceManager(bundleName: string, moduleName: string): resmgr.ResourceManager
为指定Moudle创建资源管理对象。
系统接口:此接口为系统接口。
需要权限:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | Bundle名称。 |
moduleName | string | 是 | 模块名。 |
返回值:
类型 | 说明 |
---|---|
resmgr.ResourceManager | 资源管理对象。 |
错误码:
以下错误码详细介绍请参考通用错误码。
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
示例:
import { UIAbility } from '@kit.AbilityKit';
import { resourceManager } from '@kit.LocalizationKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let ModuleResourceManager: resourceManager.ResourceManager;
try {
ModuleResourceManager = this.context.createModuleResourceManager('com.example.test', 'entry');
} catch (error) {
console.error(`createModuleResourceManager failed, error.code: ${(error as BusinessError).code}, error.message: ${(error as BusinessError).message}`);
}
}
}
Context.createSystemHspModuleResourceManager12+
createSystemHspModuleResourceManager(bundleName: string, moduleName: string): resmgr.ResourceManager
该接口用于OEM厂商预置的系统级HSP创建自己的ResourceManager。
系统接口:此接口为系统接口。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 包名。 |
moduleName | string | 是 | 模块名。 |
错误码:
错误码ID | 错误信息 |
---|---|
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
16400001 | The input bundleName is not a system HSP. |
示例:
import { UIAbility } from '@kit.AbilityKit';
export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
this.context.createSystemHspModuleResourceManager("com.example.myapplication", "library");
}
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙OH_NativeBundle_ApplicationInfo
harmony 鸿蒙OH_NativeBundle_ElementName
harmony 鸿蒙ability_base_common.h
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦