• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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