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通信接口、拉起弹窗请求用户授权等。

详细的使用情况请查阅: https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md/

AbilityStageContext

AbilityStageContext是AbilityStage的上下文环境,继承自Context。

AbilityStageContext提供允许访问特定于abilityStage的资源的能力,包括获取AbilityStage对应的ModuleInfo对象、环境变化对象。

详细的使用情况请查阅: https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-inner-application-abilityStageContext.md

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

1 回复

更多关于HarmonyOS鸿蒙Next中应用上下文Context入门的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Context是应用上下文的核心接口,提供了访问应用资源、启动组件、获取系统服务等功能。每个应用组件(如AbilityService)都关联一个Context对象,通过它可获取应用的基本信息、资源管理器、文件路径等。开发者可通过getContext()方法获取当前组件的上下文,进而进行资源管理、组件跳转等操作。Context是应用开发的基础,理解其使用对构建高效、稳定的应用至关重要。

回到顶部