#创作者激励#【坚果派-坚果】应用上下文Context入门 原创
【本文正在参加2023年第一期优质创作者激励计划】
应用上下文Context
作者:坚果
团队:坚果派
公众号:“大前端之旅”
润开鸿技术专家,华为HDE,InfoQ签约作者,OpenHarmony布道师,擅长HarmonyOS应用开发、熟悉服务卡片开发,在“战码先锋”活动中作为大队长,累计培养三个小队长,带领100+队员完成Pr的提交合入。
欢迎通过主页或者私信联系我,加入坚果派,一起学习鸿蒙应用开发。
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(无)
详细的使用情况请查阅:
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。 |