8cfd80b0创建于 2025年12月12日历史提交

@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时回调。

说明:

系统能力: 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断开连接时回调。

说明:

系统能力: 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

当窗口被创建时回调。

说明:

系统能力: 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();
    });
  }
}