js-apis-application-windowExtensionAbility.md 3.5 KB
Newer Older
Z
zengyawen 已提交
1 2
# @ohos.application.WindowExtensionAbility (窗口扩展能力)

3
WindowExtensionAbility基于ExtensionAbility。WindowExtensionAbility中展示的内容可作为一个控件(AbilityComponent)内容展示在其他应用窗口中。
4 5 6 7

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
>
9 10
> 本模块接口为系统接口。
>
11
> 本模块接口仅可在Stage模型下使用。
12 13 14 15 16 17 18 19 20

## 导入模块

```ts
import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility';
```

## 属性

21
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
22

23
| 名称      | 类型 | 可读 | 可写 | 说明                      |
24
| --------- | -------- | ---- | ---- | ------------------------- |
25
| context      | [WindowExtensionContext](js-apis-inner-application-windowExtensionContext.md)   | 是   | 否   | 上下文。      |
26 27 28

## WindowExtensionAbility.onConnect

29
onConnect(want: Want): void
30 31 32

当窗口扩展组件第一次连接ability时回调。

33
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
34

35 36
**参数:**

37 38
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
M
m00512953 已提交
39
| want | [Want](js-apis-application-want.md) | 是 | 当前ability的Want类型信息,包括ability名称、bundle名称等。 |
40

41
**示例:**
42 43

```ts
L
lixia 已提交
44 45
import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility';
import Want from '@ohos.app.ability.Want';
46

L
lixia 已提交
47 48
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
  onConnect(want: Want) {
M
mingxihua 已提交
49
    console.info('WindowExtAbility onConnect, abilityName: ${want.abilityName}');
50 51 52 53 54 55 56 57 58 59
  }
}
```

## WindowExtensionAbility.onDisconnect

onDisconnect(want: Want): void

当所有连接到窗口扩展组件的ability断开连接时回调。

60
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
61

62 63
**参数:**

64 65
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
M
m00512953 已提交
66
| want | [Want](js-apis-application-want.md) | 是 | 当前Ability的Want类型信息,包括ability名称、bundle名称等。 |
67 68


69
**示例:**
70 71

```ts
L
lixia 已提交
72 73
import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility';
import Want from '@ohos.app.ability.Want';
74

L
lixia 已提交
75 76
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
  onDisconnect(want: Want) {
M
mingxihua 已提交
77
    console.info('WindowExtAbility onDisconnect, abilityName: ${want.abilityName}');
78 79 80 81 82 83
  }
}
```

## WindowExtensionAbility.onWindowReady

X
xiahaiqin 已提交
84
onWindowReady(window: window.Window): void
85 86 87

当窗口被创建时回调。

88
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
89

90 91
**参数:**

92 93
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
X
xiahaiqin 已提交
94
| window | [window.Window](js-apis-window.md#window) | 是 | 当前窗口实例。 |
95 96


97
**示例:**
98 99

```ts
L
lixia 已提交
100 101 102 103 104
import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility';
import window from '@ohos.window';

let windowStage: window.WindowStage | null = null

105
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
L
lixia 已提交
106
  onWindowReady(windowClass: window.Window) {
107

L
lixia 已提交
108 109
    windowStage!.loadContent('WindowExtAbility/pages/index1').then(() => {
      windowClass.getProperties().then((pro: window.WindowProperties) => {
M
mingxihua 已提交
110
        console.log('WindowExtension pro: ${JSON.stringify(pro)}');
M
mingxihua 已提交
111
      });
L
lixia 已提交
112
      windowClass.show();
M
mingxihua 已提交
113
    });
114 115 116
  }
}
```