• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.form.formObserver (formObserver)
2
3formObserver模块提供了卡片监听方相关接口的能力,包括对同一用户下安装的卡片新增、删除、可见性变化事件的订阅和取消订阅,获取正在运行的卡片信息等。
4
5> **说明:**
6>
7> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口均为系统接口。
9
10## 导入模块
11
12```ts
13import formObserver from '@ohos.app.form.formObserver';
14```
15
16## on('formAdd')
17
18 on(type: 'formAdd', observerCallback: Callback<formInfo.RunningFormInfo>): void
19
20订阅卡片新增事件。使用callback异步回调,返回当前新增卡片的[RunningFormInfo](js-apis-app-form-formInfo.md)。
21
22**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
23
24**系统能力**:SystemCapability.Ability.Form
25
26**参数:**
27
28| 参数名 | 类型    | 必填 | 说明    |
29| ------ | ------ | ---- | ------- |
30| type | string | 是   | 填写'formAdd',表示卡片新增事件。 |
31| observerCallback | Callback<formInfo.RunningFormInfo> | 是 | 回调函数。返回新增卡片的RunningFormInfo。 |
32
33**示例:**
34
35```ts
36import formObserver from '@ohos.app.form.formObserver';
37import formInfo from '@ohos.app.form.formInfo';
38
39formObserver.on('formAdd', (data: formInfo.RunningFormInfo) => {
40  console.log(`a new form added, data: ${JSON.stringify(data)}`);
41});
42```
43
44## on('formAdd')
45
46 on(type: 'formAdd', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void
47
48订阅卡片新增事件。使用callback异步回调,返回指定卡片使用方应用新增卡片的[RunningFormInfo](js-apis-app-form-formInfo.md)。
49
50**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
51
52**系统能力**:SystemCapability.Ability.Form
53
54**参数:**
55
56| 参数名 | 类型    | 必填 | 说明    |
57| ------ | ------ | ---- | ------- |
58| type | string | 是   | 填写'formAdd',表示卡片新增事件。 |
59| hostBundleName | string | 是 | 指定订阅卡片使用方包的bundleName。缺省则订阅所有卡片使用方的卡片新增事件。 |
60| observerCallback | Callback<formInfo.RunningFormInfo> | 是 | 回调函数。返回新增卡片的RunningFormInfo。 |
61
62
63**示例:**
64
65```ts
66import formObserver from '@ohos.app.form.formObserver';
67import formInfo from '@ohos.app.form.formInfo';
68
69let bundleName: string = 'ohos.samples.FormApplication';
70
71formObserver.on('formAdd', bundleName, (data: formInfo.RunningFormInfo) => {
72  console.log(`a new form added, data: ${JSON.stringify(data)}`);
73});
74```
75
76## off('formAdd')
77
78 off(type: "formAdd", hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void
79
80取消订阅卡片新增事件。使用callback异步回调,返回当前新增卡片的[RunningFormInfo](js-apis-app-form-formInfo.md)。
81
82**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
83
84**系统能力**:SystemCapability.Ability.Form
85
86**参数:**
87
88| 参数名 | 类型    | 必填 | 说明    |
89| ------ | ------ | ---- | ------- |
90| type | string | 是   | 填写'formAdd',表示卡片新增事件。 |
91| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br> 填写该参数时,与注册时填写bundleName的on接口对应。<br> 缺省则订阅所有卡片使用方的卡片删除事件,与注册时未填写bundleName的on接口相对应。 |
92| observerCallback | Callback&lt;formInfo.RunningFormInfo&gt; | 否 | 回调函数。返回卡片RunningFormInfo。缺省时,表示注销对应已注册事件回调。<br> 需与对应on('formAdd')的callback一致。|
93
94
95**示例:**
96
97```ts
98import formObserver from '@ohos.app.form.formObserver';
99import formInfo from '@ohos.app.form.formInfo';
100
101let bundleName: string = 'ohos.samples.FormApplication';
102formObserver.off('formAdd', bundleName, (data: formInfo.RunningFormInfo) => {
103  console.log(`a new form added, data: ${JSON.stringify(data)}`);
104});
105
106```
107> **说明:**
108> on('formAdd', callback)与off('formAdd', callback)相对应;
109> on('formAdd', bundleName, callback)与off('formAdd', bundleName, callback)相对应;
110> 订阅(on)只能由自己对应的取消订阅接口(off)取消。
111
112## on('formRemove')
113
114 on(type: 'formRemove', observerCallback: Callback&lt;formInfo.RunningFormInfo&gt;): void
115
116订阅卡片删除事件。使用callback异步回调,返回当前删除卡片的[RunningFormInfo](js-apis-app-form-formInfo.md)。
117
118**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
119
120**系统能力**:SystemCapability.Ability.Form
121
122**参数:**
123
124| 参数名 | 类型    | 必填 | 说明    |
125| ------ | ------ | ---- | ------- |
126| type | string | 是   | 填写'formRemove',表示卡片删除事件。 |
127| observerCallback | Callback&lt;formInfo.RunningFormInfo&gt; | 是 | 回调函数。返回删除卡片的RunningFormInfo。 |
128
129**示例:**
130
131```ts
132import formObserver from '@ohos.app.form.formObserver';
133import formInfo from '@ohos.app.form.formInfo';
134
135formObserver.on('formRemove', (data: formInfo.RunningFormInfo) => {
136  console.log(`form deleted, data: ${JSON.stringify(data)}`);
137});
138```
139
140## on('formRemove')
141
142 on(type: 'formRemove', hostBundleName: string, observerCallback: Callback&lt;formInfo.RunningFormInfo&gt;): void
143
144订阅卡片删除事件。使用callback异步回调,返回指定卡片使用方应用被删除卡片的[RunningFormInfo](js-apis-app-form-formInfo.md)。
145
146**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
147
148**系统能力**:SystemCapability.Ability.Form
149
150**参数:**
151
152| 参数名 | 类型    | 必填 | 说明    |
153| ------ | ------ | ---- | ------- |
154| type | string | 是   | 填写'formRemove',表示卡片删除事件。 |
155| hostBundleName | string | 是 | 指定订阅卡片使用方包的bundleName。缺省则订阅所有卡片使用方的卡片删除事件。 |
156| observerCallback | Callback&lt;formInfo.RunningFormInfo&gt; | 是 | 回调函数。返回删除卡片的RunningFormInfo。 |
157
158
159**示例:**
160
161```ts
162import formObserver from '@ohos.app.form.formObserver';
163import formInfo from '@ohos.app.form.formInfo';
164
165let bundleName: string = 'ohos.samples.FormApplication';
166formObserver.on('formRemove', bundleName, (data: formInfo.RunningFormInfo) => {
167  console.log(`form deleted, data: ${JSON.stringify(data)}`);
168});
169```
170
171## off('formRemove')
172
173off(type: "formRemove", hostBundleName?: string, observerCallback?: Callback&lt;formInfo.RunningFormInfo&gt;): void
174
175取消订阅卡片删除事件。使用callback异步回调,返回当前删除卡片的[RunningFormInfo](js-apis-app-form-formInfo.md)。
176
177**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
178
179**系统能力**:SystemCapability.Ability.Form
180
181**参数:**
182
183| 参数名 | 类型    | 必填 | 说明    |
184| ------ | ------ | ---- | ------- |
185| type | string | 是   | 填写'formRemove',表示卡片删除事件。 |
186| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br> 填写该参数时,与注册时填写bundleName的on接口对应。<br> 缺省则订阅所有卡片使用方的卡片删除事件,与注册时未填写bundleName的on接口相对应。 |
187| observerCallback | Callback&lt;formInfo.RunningFormInfo&gt; | 否 | 回调函数。返回卡片RunningFormInfo。缺省时,表示注销对应已注册事件回调。<br> 需与对应on('formRemove')的callback一致。|
188
189**示例:**
190
191```ts
192import formObserver from '@ohos.app.form.formObserver';
193import formInfo from '@ohos.app.form.formInfo';
194
195let bundleName: string = 'ohos.samples.FormApplication';
196formObserver.off('formRemove', bundleName, (data: formInfo.RunningFormInfo) => {
197  console.log(`a new form added, data: ${JSON.stringify(data)}`);
198});
199```
200> **说明:**
201> on('formRemove', callback)与off('formRemove', callback)相对应;
202> on('formRemove', bundleName, callback)与off('formRemove', bundleName, callback)相对应;
203> 订阅(on)只能由自己对应的取消订阅接口(off)取消。
204
205## on('notifyVisible')
206
207 on(type: 'notifyVisible', observerCallback: Callback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt;): void
208
209订阅通知卡片可见的事件。
210
211​触发通知卡片可见场景为:调用notifyVisibleForms接口通知对应卡片可见性变更为可见状态
212
213**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
214
215**系统能力**:SystemCapability.Ability.Form
216
217**参数:**
218
219| 参数名     | 类型                                                         | 必填 | 说明                                                         |
220| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
221| type       | string                                                       | 是   | 仅允许填写'notifyVisible',表示订阅通知卡片可见的事件。      |
222| observerCallback   | Callback &lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是   | 回调函数。返回订阅通知卡片可见的RunningFormInfo。            |
223
224**示例:**
225
226```ts
227import formObserver from '@ohos.app.form.formObserver';
228import formInfo from '@ohos.app.form.formInfo';
229
230formObserver.on('notifyVisible', (data: formInfo.RunningFormInfo[]) => {
231  console.log(`form change visibility, data: ${JSON.stringify(data)}`);
232});
233
234```
235
236## on('notifyVisible')
237
238 on(type: 'notifyVisible', hostBundleName: string, observerCallback: Callback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt;): void
239
240订阅通知卡片可见的事件。
241
242​触发通知卡片可见场景为:调用notifyVisibleForms接口通知对应卡片可见性变更为可见状态
243
244**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
245
246**系统能力**:SystemCapability.Ability.Form
247
248**参数:**
249
250| 参数名     | 类型                                                         | 必填 | 说明                                                         |
251| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
252| type       | string                                                       | 是   | 仅允许填写'notifyVisible',表示订阅通知卡片可见的事件。      |
253| hostBundleName | string                                                       | 是   | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。 |
254| observerCallback   | Callback &lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是   | 回调函数。返回订阅通知卡片可见的RunningFormInfo。            |
255
256
257**示例:**
258
259```ts
260import formObserver from '@ohos.app.form.formObserver';
261import formInfo from '@ohos.app.form.formInfo';
262
263let bundleName: string = 'ohos.samples.FormApplication';
264formObserver.on('notifyVisible', bundleName, (data: formInfo.RunningFormInfo[]) => {
265  console.log(`form change visibility, data: ${JSON.stringify(data)}`);
266});
267```
268
269## off('notifyVisible')
270
271 off(type: "notifyVisible", hostBundleName?: string, observerCallback?: Callback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt;): void
272
273取消订阅通知卡片可见的事件。
274
275**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
276
277**系统能力**:SystemCapability.Ability.Form
278
279**参数:**
280
281| 参数名     | 类型                                                         | 必填 | 说明                                                         |
282| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
283| type       | string                                                       | 是   | 仅允许填写'notifyVisible',表示取消订阅通知卡片为可见的事件。 |
284| hostBundleName | string                                                       | 否   | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。<br> 填写该参数时,与注册时填写bundleName的on接口对应。 |
285| observerCallback   | Callback &lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 否   | 入参,注册时注册进去的callback。缺省时,表示注销对应已注册订阅的回调。<br> 需与对应on('notifyVisible')的callback一致。 |
286
287
288**示例:**
289
290```ts
291import formObserver from '@ohos.app.form.formObserver';
292import formInfo from '@ohos.app.form.formInfo';
293
294let bundleName: string = 'ohos.samples.FormApplication';
295formObserver.off('notifyVisible', bundleName, (data: formInfo.RunningFormInfo[]) => {
296  console.log(`form change visibility, data: ${JSON.stringify(data)}`);
297});
298```
299
300> **说明:**
301> on('notifyVisible', callback)与off('notifyVisible', callback)相对应;
302> on('notifyVisible', bundleName, callback)与off('notifyVisible', bundleName, callback)相对应;
303> 订阅(on)只能由自己对应的取消订阅接口(off)取消。
304
305## on('notifyInvisible')
306
307 on(type: 'notifyInvisible', observerCallback: Callback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;>): void
308
309订阅通知卡片不可见的事件。
310
311​触发通知卡片不可见场景为:调用notifyInvisibleForms接口通知对应卡片可见性变更为不可见状态
312
313**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
314
315**系统能力**:SystemCapability.Ability.Form
316
317**参数:**
318
319| 参数名     | 类型                                                         | 必填 | 说明                                                         |
320| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
321| type       | string                                                       | 是   | 仅允许填写'notifyInvisible',表示订阅卡片不可见的事件。      |
322| observerCallback   | Callback &lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是   | 回调函数。返回订阅通知卡片不可见的RunningFormInfo。          |
323
324**示例:**
325
326```ts
327import formObserver from '@ohos.app.form.formObserver';
328import formInfo from '@ohos.app.form.formInfo';
329
330formObserver.on('notifyInvisible', (data: formInfo.RunningFormInfo[]) => {
331  console.log(`form change invisibility, data: ${JSON.stringify(data)}`);
332});
333```
334
335
336## on('notifyInvisible')
337
338 on(type: 'notifyInvisible', hostBundleName: string, observerCallback: Callback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;>,): void
339
340订阅通知卡片不可见的事件。
341
342​触发通知卡片不可见场景为:调用notifyInvisibleForms接口通知对应卡片可见性变更为不可见状态
343
344**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
345
346**系统能力**:SystemCapability.Ability.Form
347
348**参数:**
349
350| 参数名     | 类型                                                         | 必填 | 说明                                                         |
351| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
352| type       | string                                                       | 是   | 仅允许填写'notifyInvisible',表示订阅卡片不可见的事件。      |
353| hostBundleName | string                                                       | 是   | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。 |
354| observerCallback   | Callback &lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是   | 回调函数。返回订阅通知卡片不可见的RunningFormInfo。          |
355
356**示例:**
357
358```ts
359import formObserver from '@ohos.app.form.formObserver';
360import formInfo from '@ohos.app.form.formInfo';
361
362let bundleName: string = 'ohos.samples.FormApplication';
363formObserver.on('notifyInvisible', bundleName, (data: formInfo.RunningFormInfo[]) => {
364  console.log(`form change invisibility, data: ${JSON.stringify(data)}`);
365});
366```
367
368## off('notifyInvisible')
369
370 off(type: "notifyInvisible", hostBundleName?: string, observerCallback?: Callback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)>&gt;): void
371
372取消订阅通知卡片不可见事件。
373
374**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
375
376**系统能力**:SystemCapability.Ability.Form
377
378**参数:**
379
380| 参数名     | 类型                                                         | 必填 | 说明                                                         |
381| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
382| type       | string                                                       | 是   | 仅允许填写'notifyInvisible',表示卡片可见性变更为不可见。    |
383| hostBundleName | string                                                       | 否   | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。<br> 填写该参数时,与注册时填写bundleName的on接口对应。<br>  |
384| observerCallback   | Callback &lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 否   | 入参,注册时注册进去的callback。缺省时,表示注销对应已注册事件回调。<br/> 需与对应on('notifyInvisible')的callback一致。 |
385
386**示例:**
387
388```ts
389import formObserver from '@ohos.app.form.formObserver';
390import formInfo from '@ohos.app.form.formInfo';
391
392let bundleName: string = 'ohos.samples.FormApplication';
393formObserver.off('notifyInvisible', bundleName, (data: formInfo.RunningFormInfo[]) => {
394  console.log(`form change invisibility, data: ${JSON.stringify(data)}`);
395});
396```
397
398> **说明:**
399> on('notifyInvisible', callback)与off('notifyInvisible', callback)相对应;
400> on('notifyInvisible', bundleName, callback)与off('notifyInvisible', bundleName, callback)相对应;
401> 订阅(on)只能由自己对应的取消订阅接口(off)取消。
402
403
404## getRunningFormInfos
405
406getRunningFormInfos(callback: AsyncCallback&lt;Array&lt;formInfo.RunningFormInfo&gt;&gt;, hostBundleName?: string): void
407
408获取设备上正在运行的所有非临时卡片信息。使用callback异步回调。
409
410**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
411
412**系统能力**:SystemCapability.Ability.Form
413
414**参数:**
415
416| 参数名 | 类型    | 必填 | 说明    |
417| ------ | ------ | ---- | ------- |
418| callback | AsyncCallback&lt;Array&lt;formInfo.RunningFormInfo&gt;&gt; | 是 | 回调函数。获取设备上指定应用为卡片使用方的当前卡片信息成功,error为undefined,data为查询到的卡片信息。|
419| hostBundleName | string | 否 |  指定要查询的卡片使用方名称,指定后会仅返回该卡片使用方下正在运行的非临时卡片信息。 <br> 缺省时,返回设备上所有正在运行的非临时卡片信息。 |
420
421**错误码:**
422以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
423
424| 错误码ID | 错误信息 |
425| -------- | -------- |
426| 16500050 | An IPC connection error happened. |
427| 16500060 | A service connection error happened, please try again later. ||
428
429**示例:**
430
431```ts
432import formObserver from '@ohos.app.form.formObserver';
433import formInfo from '@ohos.app.form.formInfo';
434import Base from '@ohos.base';
435
436try {
437  formObserver.getRunningFormInfos((error: Base.BusinessError, data: formInfo.RunningFormInfo[]) => {
438    if (error) {
439      console.error(`error, code: ${error.code}, message: ${error.message}`);
440    } else {
441      console.log(`formObserver getRunningFormInfos, data: ${JSON.stringify(data)}`);
442    }
443  }, 'com.example.ohos.formjsdemo');
444} catch(error) {
445  console.error(`catch error, code: ${(error as Base.BusinessError).code}, message: ${(error as Base.BusinessError).message}`);
446}
447```
448
449## getRunningFormInfos
450
451getRunningFormInfos(hostBundleName?: string):  Promise&lt;Array&lt;formInfo.RunningFormInfo&gt;&gt;
452
453获取设备上正在运行的所有非临时卡片信息。使用Promise异步回调。
454
455**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
456
457**系统能力**:SystemCapability.Ability.Form
458
459**参数:**
460
461| 参数名 | 类型    | 必填 | 说明    |
462| ------ | ------ | ---- | ------- |
463| hostBundleName | string | 否 |  指定要查询的卡片使用方名称,指定后会仅返回该卡片使用方下正在运行的非临时卡片信息。 <br> 缺省时,返回设备上所有正在运行的非临时卡片信息。 |
464
465**返回值:**
466
467| 类型                                                         | 说明                                |
468| :----------------------------------------------------------- | :---------------------------------- |
469| Promise&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | Promise对象,返回查询到的卡片信息。 |
470
471**错误码:**
472以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
473
474| 错误码ID | 错误信息 |
475| -------- | -------- |
476| 16500050 | An IPC connection error happened. |
477| 16500060 | A service connection error happened, please try again later. ||
478
479**示例:**
480
481```ts
482import formObserver from '@ohos.app.form.formObserver';
483import formInfo from '@ohos.app.form.formInfo';
484import Base from '@ohos.base';
485
486try {
487  formObserver.getRunningFormInfos('com.example.ohos.formjsdemo').then((data: formInfo.RunningFormInfo[]) => {
488    console.log(`formObserver getRunningFormInfos, data: ${JSON.stringify(data)}`);
489  }).catch((error: Base.BusinessError) => {
490    console.error(`error, code: ${error.code}, message: ${error.message}`);
491  });
492} catch(error) {
493  console.error(`catch error, code: ${(error as Base.BusinessError).code}, message: ${(error as Base.BusinessError).message}`);
494}
495```
496
497## getRunningFormInfosByFilter
498
499getRunningFormInfosByFilter(formProviderFilter: formInfo.FormProviderFilter): Promise&lt;Array&lt;formInfo.RunningFormInfo&gt;&gt;
500
501根据提供方信息查询卡片已有的使用方列表信息。使用Promise异步回调。
502
503**模型约束:** 此接口仅可在Stage模型下使用。
504
505**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
506
507**系统能力**:SystemCapability.Ability.Form
508
509**参数:**
510
511| 参数名      | 类型            | 必填 | 说明                             |
512| ----------- | --------------- | ---- | -------------------------------- |
513| formProviderFilter     | [formInfo.FormProviderFilter](js-apis-app-form-formInfo.md#formProviderFilter) | 是   | 卡片提供方应用信息。 |
514
515**返回值:**
516
517| 类型                | 说明                      |
518| ------------------- | ------------------------- |
519| Promise&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md#RunningFormInfo)&gt;&gt; | Promise对象,返回查询到的使用方列表信息。 |
520
521**错误码:**
522
523以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
524
525| 错误码ID | 错误信息 |
526| -------- | -------- |
527| 201 | Permissions denied. |
528| 202 | The application is not a system application. |
529| 401 | If the input parameter is not valid parameter. |
530| 16500050 | An IPC connection error happened. |
531| 16500100 | Failed to obtain the configuration information. |
532| 16501000  | An internal functional error occurred. |
533
534
535```ts
536import formObserver from '@ohos.app.form.formObserver';
537import formInfo from '@ohos.app.form.formInfo';
538import Base from '@ohos.base';
539
540let formInstanceFilter: formInfo.FormProviderFilter = {
541  bundleName: "com.example.formprovide",
542  abilityName: "EntryFormAbility",
543  formName: "widget",
544  moduleName: "entry"
545}
546try {
547  formObserver.getRunningFormInfosByFilter(formInstanceFilter).then((data: formInfo.RunningFormInfo[]) => {
548    console.info('formObserver getRunningFormInfosByFilter success, data:' + JSON.stringify(data));
549  }).catch((error: Base.BusinessError) => {
550    console.error(`error, code: ${error.code}, message: ${error.message}`);
551  });
552} catch(error) {
553  console.error(`catch error, code: ${(error as Base.BusinessError).code}, message: ${(error as Base.BusinessError).message}`);
554}
555```
556
557## getRunningFormInfosByFilter
558
559getRunningFormInfosByFilter(formProviderFilter: formInfo.FormProviderFilter, callback: AsyncCallback&lt;Array&lt;formInfo.RunningFormInfo&gt;&gt;): void
560
561根据提供方信息查询卡片已有的使用方列表信息。使用callback异步回调。
562
563**模型约束:** 此接口仅可在Stage模型下使用。
564
565**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
566
567**系统能力**:SystemCapability.Ability.Form
568
569**参数:**
570
571| 参数名      | 类型            | 必填 | 说明                             |
572| ----------- | --------------- | ---- | -------------------------------- |
573| formProviderFilter     | [formInfo.FormProviderFilter](js-apis-app-form-formInfo.md#formProviderFilter) | 是   | 卡片提供方应用信息。 |
574| callback | AsyncCallback&lt;Array&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt;&gt; | 是 | 回调函数。返回查询到的使用方列表信息,error为undefined,data为查询到的使用方列表信息;否则为错误对象。 |
575
576**错误码:**
577
578以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
579
580| 错误码ID | 错误信息 |
581| -------- | -------- |
582| 201 | Permissions denied. |
583| 202 | The application is not a system application. |
584| 401 | If the input parameter is not valid parameter. |
585| 16500050 | An IPC connection error happened. |
586| 16500100 | Failed to obtain the configuration information. |
587| 16501000  | An internal functional error occurred. |
588
589
590```ts
591import formObserver from '@ohos.app.form.formObserver';
592import formInfo from '@ohos.app.form.formInfo';
593import Base from '@ohos.base';
594
595let formInstanceFilter: formInfo.FormProviderFilter = {
596  bundleName: "com.example.formprovide",
597  abilityName: "EntryFormAbility",
598  formName: "widget",
599  moduleName: "entry"
600}
601try {
602  formObserver.getRunningFormInfosByFilter(formInstanceFilter,(error: Base.BusinessError, data: formInfo.RunningFormInfo[]) => {
603    if (error) {
604      console.error(`error, code: ${error.code}, message: ${error.message}`);
605    } else {
606      console.log(`formObserver getRunningFormInfosByFilter, data: ${JSON.stringify(data)}`);
607    }
608  });
609} catch(error) {
610  console.error(`catch error, code: ${(error as Base.BusinessError).code}, message: ${(error as Base.BusinessError).message}`);
611}
612```
613
614## getRunningFormInfoById
615
616getRunningFormInfoById(formId: string): Promise&lt;formInfo.RunningFormInfo&gt;
617
618
619根据formId查询卡片已有的使用方列表信息。使用Promise异步回调。
620
621**模型约束:** 此接口仅可在Stage模型下使用。
622
623**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
624
625**系统能力**:SystemCapability.Ability.Form
626
627**参数:**
628
629| 参数名      | 类型            | 必填 | 说明                             |
630| ----------- | --------------- | ---- | -------------------------------- |
631| formId     | string | 是   | 卡片标识。 |
632
633**返回值:**
634
635| 类型                | 说明                      |
636| ------------------- | ------------------------- |
637| Promise&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt; | Promise对象,返回查询到的使用方列表信息。 |
638
639**错误码:**
640
641以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
642
643| 错误码ID | 错误信息 |
644| -------- | -------- |
645| 201 | Permissions denied. |
646| 202 | The application is not a system application. |
647| 401 | If the input parameter is not valid parameter. |
648| 16500050 | An IPC connection error happened. |
649| 16500100 | Failed to obtain the configuration information. |
650| 16501000  | An internal functional error occurred. |
651
652
653```ts
654import formObserver from '@ohos.app.form.formObserver';
655import formInfo from '@ohos.app.form.formInfo';
656import Base from '@ohos.base';
657
658let formId: string = '12400633174999288';
659try {
660  formObserver.getRunningFormInfoById(formId).then((data: formInfo.RunningFormInfo) => {
661    console.info('formObserver getRunningFormInfoById success, data:' + JSON.stringify(data));
662  }).catch((error: Base.BusinessError) => {
663    console.error(`error, code: ${error.code}, message: ${error.message}`);
664  });
665} catch(error) {
666  console.error(`catch error, code: ${(error as Base.BusinessError).code}, message: ${(error as Base.BusinessError).message}`);
667}
668```
669
670## getRunningFormInfoById
671
672getRunningFormInfoById(formId: string, callback: AsyncCallback&lt;formInfo.RunningFormInfo&gt;): void
673
674根据提供方信息查询卡片已有的使用方列表信息。使用callback异步回调。
675
676**模型约束:** 此接口仅可在Stage模型下使用。
677
678**需要权限**:ohos.permission.OBSERVE_FORM_RUNNING
679
680**系统能力**:SystemCapability.Ability.Form
681
682**参数:**
683
684| 参数名      | 类型            | 必填 | 说明                             |
685| ----------- | --------------- | ---- | -------------------------------- |
686| formId     | string | 是   | 卡片标识。 |
687| callback | AsyncCallback&lt;[formInfo.RunningFormInfo](js-apis-app-form-formInfo.md)&gt; | 是 | 回调函数。返回查询到的使用方列表信息,error为undefined,data为查询到的使用方列表信息;否则为错误对象。 |
688
689**错误码:**
690
691以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)。
692
693| 错误码ID | 错误信息 |
694| -------- | -------- |
695| 201 | Permissions denied. |
696| 202 | The application is not a system application. |
697| 401 | If the input parameter is not valid parameter. |
698| 16500050 | An IPC connection error happened. |
699| 16500100 | Failed to obtain the configuration information. |
700| 16501000  | An internal functional error occurred. |
701
702```ts
703import formObserver from '@ohos.app.form.formObserver';
704import formInfo from '@ohos.app.form.formInfo';
705import Base from '@ohos.base';
706
707let formId: string = '12400633174999288';
708try {
709  formObserver.getRunningFormInfoById(formId,(error: Base.BusinessError, data: formInfo.RunningFormInfo) => {
710    if (error) {
711      console.error(`error, code: ${error.code}, message: ${error.message}`);
712    } else {
713      console.log(`formObserver getRunningFormInfoById, data: ${JSON.stringify(data)}`);
714    }
715  });
716} catch(error) {
717  console.error(`catch error, code: ${(error as Base.BusinessError).code}, message: ${(error as Base.BusinessError).message}`);
718}
719```
720