1# @ohos.application.WindowExtensionAbility (WindowExtensionAbility) (System API) 2 3**WindowExtensionAbility** inherits from **ExtensionAbility**. The content in a **WindowExtensionAbility** object can be displayed as an ability component in other application windows. 4 5> **NOTE** 6> 7> - 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. 8> 9> - The APIs provided by this module are system APIs. 10> 11> - The APIs of this module can be used only in the stage model. 12 13## Modules to Import 14 15```ts 16import { WindowExtensionAbility } from '@kit.ArkUI'; 17``` 18 19## Attributes 20 21**System capability**: SystemCapability.WindowManager.WindowManager.Core 22 23| Name | Type | Readable | Writable | Description | 24| --------- | -------- | ---- | ---- | ------------------------- | 25| context | [WindowExtensionContext](js-apis-inner-application-windowExtensionContext-sys.md) | Yes | No | Context of an Extension ability. | 26 27## WindowExtensionAbility.onConnect 28 29onConnect(want: Want): void 30 31Called when this Window Extension ability is connected to an ability for the first time. 32 33**System capability**: SystemCapability.WindowManager.WindowManager.Core 34 35**Parameters** 36 37| Name | Type | Mandatory | Description | 38| -------- | -------- | -------- | -------- | 39| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes | Information related to this Window Extension ability, including the ability name and bundle name. | 40 41**Example** 42 43```ts 44import { WindowExtensionAbility } from '@kit.ArkUI'; 45import { Want } from '@kit.AbilityKit'; 46 47export default class MyWindowExtensionAbility extends WindowExtensionAbility { 48 onConnect(want: Want) { 49 console.info('WindowExtAbility onConnect, abilityName: ${want.abilityName}'); 50 } 51} 52``` 53 54## WindowExtensionAbility.onDisconnect 55 56onDisconnect(want: Want): void 57 58Called when this Window Extension ability is disconnected from all connected abilities. 59 60**System capability**: SystemCapability.WindowManager.WindowManager.Core 61 62**Parameters** 63 64| Name | Type | Mandatory | Description | 65| -------- | -------- | -------- | -------- | 66| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes | Information related to this Window Extension ability, including the ability name and bundle name. | 67 68 69**Example** 70 71```ts 72import { WindowExtensionAbility } from '@kit.ArkUI'; 73import { Want } from '@kit.AbilityKit'; 74 75export default class MyWindowExtensionAbility extends WindowExtensionAbility { 76 onDisconnect(want: Want) { 77 console.info('WindowExtAbility onDisconnect, abilityName: ${want.abilityName}'); 78 } 79} 80``` 81 82## WindowExtensionAbility.onWindowReady 83 84onWindowReady(window: window.Window): void 85 86Called when a window is ready. 87 88**System capability**: SystemCapability.WindowManager.WindowManager.Core 89 90**Parameters** 91 92| Name | Type | Mandatory | Description | 93| -------- | -------- | -------- | -------- | 94| window | [window.Window](js-apis-window.md#window) | Yes | Current **Window** instance. | 95 96 97**Example** 98 99```ts 100import { WindowExtensionAbility, window } from '@kit.ArkUI'; 101import { BusinessError } from '@kit.BasicServicesKit'; 102 103export default class MyWindowExtensionAbility extends WindowExtensionAbility { 104 onWindowReady(window: window.Window) { 105 window.setUIContent('WindowExtAbility/pages/index1',(err:BusinessError) => { 106 let pro = window.getWindowProperties(); 107 console.log('WindowExtension pro: ${JSON.stringify(pro)}'); 108 window.showWindow(); 109 }); 110 } 111} 112``` 113