概述
EmbeddedUIExtensionAbility 是EMBEDDED_UI类型的ExtensionAbility组件,提供了跨进程界面嵌入的能力。
EmbeddedUIExtensionAbility需要和 EmbeddedComponent 一起配合使用,开发者可以在UIAbility的页面中通过EmbeddedComponent嵌入本应用的EmbeddedUIExtensionAbility提供的UI。EmbeddedUIExtensionAbility会在独立于UIAbility的进程中运行,完成其页面的布局和渲染。通常用于有进程隔离诉求的模块化开发场景。
说明
- 当前EmbeddedUIExtensionAbility和EmbeddedComponent仅支持在拥有多进程配置的设备上使用。
- EmbeddedComponent只能在UIAbility中使用,且被拉起的EmbeddedUIExtensionAbility需与UIAbility属于同一应用。
- 当前提供的EmbeddedUIExtensionAbility支持多实例场景,并且继承了UIExtensionAbility的进程模型。
EmbeddedUIExtensionAbility通过 UIExtensionContext 和 UIExtensionContentSession 提供相关能力。本文描述中称被启动的EmbeddedUIExtensionAbility为提供方,称启动EmbeddedUIExtensionAbility的EmbeddedComponent组件为使用方。
开发EmbeddedUIExtensionAbility提供方
生命周期
EmbeddedUIExtensionAbility 提供了onCreate、onSessionCreate、onSessionDestroy、onForeground、onBackground和onDestroy生命周期回调,根据需要重写对应的回调方法。
- onCreate:当EmbeddedUIExtensionAbility创建时回调,执行初始化业务逻辑操作。
- onSessionCreate:当EmbeddedUIExtensionAbility界面内容对象创建后调用。
- onSessionDestroy:当EmbeddedUIExtensionAbility界面内容对象销毁后调用。
- onForeground:当EmbeddedUIExtensionAbility从后台转到前台时触发。
- onBackground:当EmbeddedUIExtensionAbility从前台转到后台时触发。
- onDestroy:当EmbeddedUIExtensionAbility销毁时回调,可以执行资源清理等操作。
开发步骤
开发者在实现一个EmbeddedUIExtensionAbility提供方时,需要在DevEco Studio工程中手动新建一个EmbeddedUIExtensionAbility,具体步骤如下。
-
在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录