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