1# @ohos.application.WindowExtensionAbility (WindowExtensionAbility) (System API) 2<!--Kit: ArkUI--> 3<!--Subsystem: Window--> 4<!--Owner: @chbchb12--> 5<!--Designer: @stupidb--> 6<!--Tester: @qinliwen0417--> 7<!--Adviser: @ge-yafang--> 8 9**WindowExtensionAbility** inherits from **ExtensionAbility**. The content in a WindowExtensionAbility object can be displayed as an ability component in other application windows. 10 11> **NOTE** 12> 13> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 14> 15> - The APIs provided by this module are system APIs. 16> 17> - The APIs of this module can be used only in the stage model. 18 19## Modules to Import 20 21```ts 22import { WindowExtensionAbility } from '@kit.ArkUI'; 23``` 24 25## Attributes 26 27**System capability**: SystemCapability.WindowManager.WindowManager.Core 28 29| Name | Type| Read-Only| Optional| Description | 30| --------- | -------- | ---- | ---- | ------------------------- | 31| context | [WindowExtensionContext](js-apis-inner-application-windowExtensionContext-sys.md) | No | No | Context of an Extension ability. | 32 33## WindowExtensionAbility.onConnect 34 35onConnect(want: Want): void 36 37Called when this WindowExtensionAbility is connected to an ability for the first time. 38 39**System capability**: SystemCapability.WindowManager.WindowManager.Core 40 41**Parameters** 42 43| Name| Type| Mandatory| Description| 44| -------- | -------- | -------- | -------- | 45| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes| Information related to this WindowExtensionAbility, including the ability name and bundle name.| 46 47**Example** 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 64Called when this WindowExtensionAbility is disconnected from all connected abilities. 65 66**System capability**: SystemCapability.WindowManager.WindowManager.Core 67 68**Parameters** 69 70| Name| Type| Mandatory| Description| 71| -------- | -------- | -------- | -------- | 72| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes| Information related to this WindowExtensionAbility, including the ability name and bundle name.| 73 74 75**Example** 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 92Called when a window is ready. 93 94**System capability**: SystemCapability.WindowManager.WindowManager.Core 95 96**Parameters** 97 98| Name| Type| Mandatory| Description| 99| -------- | -------- | -------- | -------- | 100| window | [window.Window](arkts-apis-window-Window.md) | Yes| Current Window instance.| 101 102 103**Example** 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``` 119