@ohos.application.WindowExtensionAbility (窗口扩展能力)(系统接口)
WindowExtensionAbility基于ExtensionAbility。WindowExtensionAbility中展示的内容可作为一个控件(AbilityComponent)内容展示在其他应用窗口中。
说明:
从API version 21开始废弃,推荐使用UIExtensionAbility,针对设置一个嵌入式UIAbility的场景,请参见UIExtensionAbility使用指南。
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口为系统接口。
本模块接口仅可在Stage模型下使用。
导入模块
import { WindowExtensionAbility } from '@kit.ArkUI';
属性
系统能力: SystemCapability.WindowManager.WindowManager.Core
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| context(deprecated) | WindowExtensionContext | 否 | 否 | 上下文。 说明: 从API version 9开始支持,从API version 21开始,该接口废弃,推荐使用UIExtensionAbility.context。 |
WindowExtensionAbility.onConnect(deprecated)
onConnect(want: Want): void
当窗口扩展组件第一次连接ability时回调。
说明:
- 从API version 9开始支持,从API version 21开始废弃,推荐使用UIExtensionAbility.onCreate。
系统能力: SystemCapability.WindowManager.WindowManager.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| want | Want | 是 | 当前ability的Want类型信息,包括ability名称、bundle名称等。 |
示例:
import { WindowExtensionAbility } from '@kit.ArkUI';
import { Want } from '@kit.AbilityKit';
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
onConnect(want: Want) {
console.info(`WindowExtAbility onConnect, abilityName: ${want.abilityName}`);
}
}
WindowExtensionAbility.onDisconnect(deprecated)
onDisconnect(want: Want): void
当所有连接到窗口扩展组件的ability断开连接时回调。
说明:
- 从API version 9开始支持,从API version 21开始废弃,推荐使用UIExtensionAbility.onDestroy。
系统能力: SystemCapability.WindowManager.WindowManager.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| want | Want | 是 | 当前Ability的Want类型信息,包括ability名称、bundle名称等。 |
示例:
import { WindowExtensionAbility } from '@kit.ArkUI';
import { Want } from '@kit.AbilityKit';
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
onDisconnect(want: Want) {
console.info(`WindowExtAbility onDisconnect, abilityName: ${want.abilityName}`);
}
}
WindowExtensionAbility.onWindowReady(deprecated)
onWindowReady(window: window.Window): void
当窗口被创建时回调。
说明:
- 从API version 9开始支持,从API version 21开始废弃,推荐使用UIExtensionAbility.onSessionCreate。
系统能力: SystemCapability.WindowManager.WindowManager.Core
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| window | window.Window | 是 | 当前窗口实例。 |
示例:
import { WindowExtensionAbility, window } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
onWindowReady(window: window.Window) {
window.setUIContent('WindowExtAbility/pages/index1',(err:BusinessError) => {
let pro = window.getWindowProperties();
console.info(`WindowExtension pro: ${JSON.stringify(pro)}`);
window.showWindow();
});
}
}