1# @ohos.application.WindowExtensionAbility (窗口扩展能力)(系统接口) 2<!--Kit: ArkUI--> 3<!--Subsystem: Window--> 4<!--Owner: @chbchb12--> 5<!--Designer: @stupidb--> 6<!--Tester: @qinliwen0417--> 7<!--Adviser: @ge-yafang--> 8 9WindowExtensionAbility基于ExtensionAbility。WindowExtensionAbility中展示的内容可作为一个控件(AbilityComponent)内容展示在其他应用窗口中。 10 11> **说明:** 12> 13> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> - 本模块接口为系统接口。 16> 17> - 本模块接口仅可在Stage模型下使用。 18 19## 导入模块 20 21```ts 22import { WindowExtensionAbility } from '@kit.ArkUI'; 23``` 24 25## 属性 26 27**系统能力:** SystemCapability.WindowManager.WindowManager.Core 28 29| 名称 | 类型 | 只读 | 可选 | 说明 | 30| --------- | -------- | ---- | ---- | ------------------------- | 31| context | [WindowExtensionContext](js-apis-inner-application-windowExtensionContext-sys.md) | 否 | 否 | 上下文。 | 32 33## WindowExtensionAbility.onConnect 34 35onConnect(want: Want): void 36 37当窗口扩展组件第一次连接ability时回调。 38 39**系统能力:** SystemCapability.WindowManager.WindowManager.Core 40 41**参数:** 42 43| 参数名 | 类型 | 必填 | 说明 | 44| -------- | -------- | -------- | -------- | 45| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 当前ability的Want类型信息,包括ability名称、bundle名称等。 | 46 47**示例:** 48 49```ts 50import { WindowExtensionAbility } from '@kit.ArkUI'; 51import { Want } from '@kit.AbilityKit'; 52 53export default class MyWindowExtensionAbility extends WindowExtensionAbility { 54 onConnect(want: Want) { 55 console.info(`WindowExtAbility onConnect, abilityName: ${want.abilityName}`); 56 } 57} 58``` 59 60## WindowExtensionAbility.onDisconnect 61 62onDisconnect(want: Want): void 63 64当所有连接到窗口扩展组件的ability断开连接时回调。 65 66**系统能力:** SystemCapability.WindowManager.WindowManager.Core 67 68**参数:** 69 70| 参数名 | 类型 | 必填 | 说明 | 71| -------- | -------- | -------- | -------- | 72| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 当前Ability的Want类型信息,包括ability名称、bundle名称等。 | 73 74 75**示例:** 76 77```ts 78import { WindowExtensionAbility } from '@kit.ArkUI'; 79import { Want } from '@kit.AbilityKit'; 80 81export default class MyWindowExtensionAbility extends WindowExtensionAbility { 82 onDisconnect(want: Want) { 83 console.info(`WindowExtAbility onDisconnect, abilityName: ${want.abilityName}`); 84 } 85} 86``` 87 88## WindowExtensionAbility.onWindowReady 89 90onWindowReady(window: window.Window): void 91 92当窗口被创建时回调。 93 94**系统能力:** SystemCapability.WindowManager.WindowManager.Core 95 96**参数:** 97 98| 参数名 | 类型 | 必填 | 说明 | 99| -------- | -------- | -------- | -------- | 100| window | [window.Window](arkts-apis-window-Window.md) | 是 | 当前窗口实例。 | 101 102 103**示例:** 104 105```ts 106import { WindowExtensionAbility, window } from '@kit.ArkUI'; 107import { BusinessError } from '@kit.BasicServicesKit'; 108 109export default class MyWindowExtensionAbility extends WindowExtensionAbility { 110 onWindowReady(window: window.Window) { 111 window.setUIContent('WindowExtAbility/pages/index1',(err:BusinessError) => { 112 let pro = window.getWindowProperties(); 113 console.info(`WindowExtension pro: ${JSON.stringify(pro)}`); 114 window.showWindow(); 115 }); 116 } 117} 118```