• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.UIServiceExtensionAbility (UIServiceExtensionAbility)(系统接口)
2
3<!--Kit: Ability Kit-->
4<!--Subsystem: Ability-->
5<!--Owner: @zhangyafei-echo; @xuzhihao666-->
6<!--Designer: @zhangyafei-echo-->
7<!--Tester: @lixueqing513-->
8<!--Adviser: @huipeizi-->
9
10UIServiceExtensionAbility提供浮窗组件相关扩展能力,继承自[ExtensionAbility](js-apis-app-ability-extensionAbility.md)。主要用于向三方应用提供带界面的服务。
11
12> **说明:**
13>
14> 本模块首批接口从API version 14开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
15>
16> 本模块接口仅可在Stage模型下使用。
17>
18> 本模块接口需要在主线程中使用,不要在Worker、TaskPool等子线程中使用。
19>
20> 本模块为系统接口。
21
22## 导入模块
23
24```ts
25import { UIServiceExtensionAbility } from '@kit.AbilityKit';
26```
27
28## UIServiceExtensionAbility
29
30### 属性
31
32**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
33
34**系统接口**:此接口为系统接口。
35
36| 名称 | 类型 | 只读 | 可选 | 说明 |
37| -------- | -------- | -------- | -------- | -------- |
38| context | [UIServiceExtensionContext](js-apis-inner-application-uiserviceExtensionContext-sys.md) | 否 | 否 | [UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)的上下文环境,继承自[ExtensionContext](js-apis-inner-application-extensionContext.md)。 |
39
40
41### onCreate
42
43onCreate(want: Want): void
44
45[UIServiceExtensionContext](js-apis-inner-application-uiserviceExtensionContext-sys.md) 生命周期创建接口,执行初始化业务逻辑操作。
46
47**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
48
49**系统接口**:此接口为系统接口。
50
51**参数:**
52
53| 参数名 | 类型 | 必填 | 说明 |
54| -------- | -------- | -------- | -------- |
55| want |  [Want](js-apis-app-ability-want.md) | 是 | 当前[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)相关的 [Want](js-apis-app-ability-want.md) 类型信息,包括Ability名称、Bundle名称等。 |
56
57**示例:**
58
59```ts
60import { UIServiceExtensionAbility, Want } from '@kit.AbilityKit';
61
62class UIServiceExt extends UIServiceExtensionAbility {
63  // 创建UIServiceExtensionAbility
64  onCreate(want: Want) {
65    console.info(`onCreate, want: ${want.abilityName}`);
66  }
67}
68```
69
70
71### onRequest
72
73onRequest(want: Want, startId: number): void
74
75请求拉起[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)服务处理。如果是[startAbility](js-apis-inner-application-uiAbilityContext.md#startability)或者[startUIServiceExtensionAbility](js-apis-inner-application-uiAbilityContext.md#startuiserviceextensionability14)拉起的服务,会在[onCreate](#oncreate)之后回调。每次拉起服务都会回调,startId会递增。
76
77**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
78
79**系统接口**:此接口为系统接口。
80
81**参数:**
82
83| 参数名 | 类型 | 必填 | 说明 |
84| -------- | -------- | -------- | -------- |
85| want |  [Want](js-apis-app-ability-want.md) | 是 |  当前[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)相关的 [Want](js-apis-app-ability-want.md) 类型信息,包括Ability名称、Bundle名称等。 |
86| startId | number | 是 | 返回浮窗拉起次数。首次拉起初始值返回1,多次之后自动递增。 |
87
88**示例:**
89
90```ts
91import { UIServiceExtensionAbility, Want} from '@kit.AbilityKit';
92
93class UIServiceExt extends UIServiceExtensionAbility {
94  onRequest(want: Want, startId: number) {
95    console.info('onRequest, want:' + want.abilityName + ', startId:' + startId);
96  }
97}
98```
99
100
101### onConnect
102
103onConnect(want: Want, proxy: UIServiceHostProxy): void
104
105[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)生命周期回调。如果是[connectUIServiceExtensionAbility()](js-apis-inner-application-uiExtensionContext.md#connectuiserviceextensionability14)拉起的服务,会在[onCreate()](#oncreate)之后回调。接收一个[UIServiceHostProxy](js-apis-inner-application-uiservicehostproxy-sys.md)对象,用于客户端和服务端进行通信。
106
107**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
108
109**系统接口**:此接口为系统接口。
110
111**参数:**
112
113| 参数名 | 类型 | 必填 | 说明 |
114| -------- | -------- | -------- | -------- |
115| want |  [Want](js-apis-app-ability-want.md)| 是 | 当前[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)相关的[Want](js-apis-app-ability-want.md)类型信息,包括Ability名称、Bundle名称等。 |
116| proxy | [UIServiceHostProxy](js-apis-inner-application-uiservicehostproxy-sys.md) | 是 | 一个[UIServiceHostProxy](js-apis-inner-application-uiservicehostproxy-sys.md)对象,用于客户端和服务端进行通信。 |
117
118
119**示例:**
120
121```ts
122import { UIServiceExtensionAbility, Want, common} from '@kit.AbilityKit';
123
124class UIServiceExt extends UIServiceExtensionAbility {
125  onConnect(want: Want, proxy: common.UIServiceHostProxy){
126    console.info('onConnect, want:' + want.abilityName + '');
127  }
128}
129```
130
131
132### onDisconnect
133
134onDisconnect(want: Want, proxy: UIServiceHostProxy): void
135
136断开与[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)的连接。
137
138**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
139
140**系统接口**:此接口为系统接口。
141
142**参数:**
143
144| 参数名 | 类型 | 必填 | 说明 |
145| -------- | -------- | -------- | -------- |
146| want |[Want](js-apis-app-ability-want.md)| 是 | 当前[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)相关的[Want](js-apis-app-ability-want.md)类型信息,包括Ability名称、Bundle名称等。 |
147| proxy |[UIServiceHostProxy](js-apis-inner-application-uiservicehostproxy-sys.md)| 是 | 往发起方发送数据的Proxy。 |
148
149**示例:**
150
151```ts
152import { UIServiceExtensionAbility, Want, common } from '@kit.AbilityKit';
153
154class UIServiceExt extends UIServiceExtensionAbility {
155  onDisconnect(want: Want, proxy: common.UIServiceHostProxy) {
156    console.info('onDisconnect, want: ${want.abilityName}');
157  }
158}
159```
160
161
162### onWindowWillCreate
163
164onWindowWillCreate(config: window.ExtensionWindowConfig): void
165
166[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)窗体创建前的回调。前台应用把要创建windows的参数通过window.ExtensionWindowConfig传回给[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)服务。
167
168**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
169
170**系统接口**:此接口为系统接口。
171
172**参数:**
173
174| 参数名 | 类型 | 必填 | 说明 |
175| -------- | -------- | -------- | -------- |
176| config |[window.ExtensionWindowConfig](../apis-arkui/js-apis-window-sys.md#extensionwindowconfig14)| 是 | [UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)窗体配置信息。 |
177
178**示例:**
179
180```ts
181import { UIServiceExtensionAbility } from '@kit.AbilityKit';
182import { window } from '@kit.ArkUI';
183
184class UIServiceExt extends UIServiceExtensionAbility {
185  onWindowWillCreate(config : window.ExtensionWindowConfig){
186    console.info('onWindowWillCreate');
187  }
188}
189```
190
191### onWindowDidCreate
192
193onWindowDidCreate(window: window.Window): void
194
195[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)创建后回调。[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)服务创建窗口成功后,通过[onWindowDidCreate](#onwindowdidcreate)接口把创建的窗口对象传递给前台应用。
196
197**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
198
199**系统接口**:此接口为系统接口。
200
201**参数:**
202
203| 参数名 | 类型 | 必填 | 说明 |
204| -------- | -------- | -------- |  -------- |
205| window | [window.Window](../apis-arkui/js-apis-window-sys.md#window) | 是 | 表示已创建的Window。 |
206
207**示例:**
208
209```ts
210import { UIServiceExtensionAbility } from '@kit.AbilityKit';
211import { window } from '@kit.ArkUI';
212
213class ServiceExt extends UIServiceExtensionAbility {
214  onWindowDidCreate(window : window.Window){
215    console.info('onWindowDidCreate');
216  }
217}
218```
219
220### onData
221
222onData(proxy: UIServiceHostProxy, data: Record&lt;string, Object&gt;): void
223
224接收到数据的回调。
225
226**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
227
228**系统接口**:此接口为系统接口。
229
230**参数:**
231
232| 参数名 | 类型 | 必填 | 说明 |
233| -------- | -------- | -------- |  -------- |
234| proxy | [UIServiceHostProxy](js-apis-inner-application-uiservicehostproxy-sys.md) | 是 | 往客户端发送数据的Proxy。 |
235| data | Record&lt;string, Object&gt; | 是 | 表示接收到的数据。 |
236
237**示例:**
238
239```ts
240import { UIServiceExtensionAbility, common} from '@kit.AbilityKit';
241
242class ServiceExt extends UIServiceExtensionAbility {
243  onData(proxy : common.UIServiceHostProxy, data : Record<string, Object> ){
244    console.info('onData');
245  }
246}
247```
248
249### onDestroy
250
251onDestroy(): void
252
253[UIServiceExtension](js-apis-app-ability-uiServiceExtensionAbility-sys.md)销毁时回调,执行资源清理等操作。
254
255**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
256
257**系统接口**:此接口为系统接口。
258
259**示例:**
260
261```ts
262import { UIServiceExtensionAbility } from '@kit.AbilityKit';
263
264class ServiceExt extends UIServiceExtensionAbility {
265  onDestroy() {
266    console.info('onDestroy');
267  }
268}
269```
270
271