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