HarmonyOS鸿蒙Next中应用上下文Context入门
HarmonyOS鸿蒙Next中应用上下文Context入门
应用上下文Context
作者:坚果 团队:坚果派 公众号:“大前端之旅” 润开鸿技术专家,华为HDE,InfoQ签约作者,OpenHarmony布道师,擅长HarmonyOS应用开发、熟悉服务卡片开发,在“战码先锋”活动中作为大队长,累计培养三个小队长,带领100+队员完成Pr的提交合入。欢迎通过主页或者私信联系我,加入坚果派,一起学习鸿蒙应用开发。
应用上下文Context
Common模块将二级模块API组织在一起方便开发者进行导出。
导入模块
import common from '@ohos.app.ability.common';
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityBase
二级模块的集合
目前二级模块共有十二块。
UIAbilityContext
UIAbilityContext是UIAbility的上下文环境,继承自Context。
UIAbilityContext模块提供允许访问特定UIAbility的资源的能力,包括对UIAbility的启动、停止的设置、获取caller通信接口、拉起弹窗请求用户授权等。
AbilityStageContext
AbilityStageContext是AbilityStage的上下文环境,继承自Context。
AbilityStageContext提供允许访问特定于abilityStage的资源的能力,包括获取AbilityStage对应的ModuleInfo对象、环境变化对象。
ApplicationContext
ApplicationContext模块提供开发者应用级别的的上下文的能力,包括提供注册及取消注册应用内组件生命周期的监听接口。
详细的使用情况请查阅: ApplicationContext
BaseContex
BaseContext抽象类用于表示继承的子类Context是Stage模型还是FA模型,是所有Context类型的父类。
详细的使用情况请查阅: BaseContext
Context
Context模块提供了ability或application的上下文的能力,包括访问特定应用程序的资源等。
详细的使用情况请查阅: Context
ExtensionContext
ExtensionContext是Extension的上下文环境,继承自Context。
ExtensionContext模块提供访问特定Extension的资源的能力,对于拓展的Extension,可直接将ExtensionContext作为上下文环境,或者定义一个继承自ExtensionContext的类型作为上下文环境。如:ServiceExtension提供了ServiceExtensionContext,它在ExtensionContext的基础上扩展了启动、停止、绑定、解绑Ability的能力,详见ServiceExtensionContext。
详细的使用情况请查阅: ExtensionContext
FormExtensionContext
FormExtensionContext模块是FormExtensionAbility的上下文环境,继承自ExtensionContext。
FormExtensionContext模块提供FormExtensionAbility具有的接口和能力。
详细的使用情况请查阅: FormExtensionContext
AreaMode
Common模块将二级模块API组织在一起方便开发者进行导出。
详细的使用情况请查阅: AreaMode
EventHub
EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
详细的使用情况请查阅: EventHub
PermissionRequestResult(无)
详细的使用情况请查阅: PermissionRequestResult
PacMap
可以通过acquireDataAbilityHelper接口获取DataAbilityHelper对象。
详细的使用情况请查阅: PacMap
AbilityResult
定义Ability被拉起并退出后返回的结果码和数据,可以通过startAbilityForResult获取被拉起Ability退出后返回的AbilityResult对象,被startAbilityForResult拉起的Ability对象可以通过terminateSelfWithResult返回AbilityResult对象。
详细的使用情况请查阅: AbilityResult
ConnectOptions
在连接指定的后台服务时作为入参,用于接收连接过程中的状态变化,如作为connectServiceExtensionAbility的入参,连接指定的ServiceExtensionAbility。
详细的使用情况请查阅: ConnectOptions
示例:
import common from '@ohos.app.ability.common';
let uiAbilityContext: common.UIAbilityContext;
let abilityStageContext: common.AbilityStageContext;
let applicationContext: common.ApplicationContext;
let baseContext: common.BaseContext;
let context: common.Context;
let extensionContext: common.ExtensionContext;
let formExtensionContext: common.FormExtensionContext;
let areaMode: common.AreaMode;
let eventHub: common.EventHub;
let permissionRequestResult: common.PermissionRequestResult;
let pacMap: common.PacMap;
let abilityResult: common.AbilityResult;
let connectOptions: common.ConnectOptions;
AreaMode
访问的文件分区,每个文件分区有对应自己的内容。
系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
名称 | 值 | 说明 |
---|---|---|
EL1 | 0 | 设备级加密区。 |
EL2 | 1 | 用户凭据加密区。默认为EL2。 |
更多关于HarmonyOS鸿蒙Next中应用上下文Context入门的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS鸿蒙Next中应用上下文Context入门的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,Context
是应用上下文的核心接口,提供了访问应用资源、启动组件、获取系统服务等功能。每个应用组件(如Ability
、Service
)都关联一个Context
对象,通过它可获取应用的基本信息、资源管理器、文件路径等。开发者可通过getContext()
方法获取当前组件的上下文,进而进行资源管理、组件跳转等操作。Context
是应用开发的基础,理解其使用对构建高效、稳定的应用至关重要。