1# @ohos.app.form.formObserver (formObserver)(系统接口) 2 3formObserver模块提供了卡片监听方相关接口的能力,包括对同一用户下安装的卡片新增、删除、可见性变化事件的订阅和取消订阅,获取正在运行的卡片信息等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 本模块接口均为系统接口。 9 10## 导入模块 11 12```ts 13import { formObserver } from '@kit.FormKit'; 14``` 15 16## on('formAdd') 17 18 on(type: 'formAdd', observerCallback: Callback<formInfo.RunningFormInfo>): void 19 20订阅卡片新增事件。使用callback异步回调,返回当前新增卡片的信息。 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](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回当前新增卡片的信息。 | 32 33**错误码:** 34 35以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 36 37| 错误码ID | 错误信息 | 38| -------- | ------------------------------------------------------------ | 39| 202 | The application is not a system application. | 40| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 41 42**示例:** 43 44```ts 45import { formInfo, formObserver } from '@kit.FormKit'; 46 47let callback = (data: formInfo.RunningFormInfo) => { 48 console.log(`a new form added, data: ${JSON.stringify(data)}`); 49} 50 51formObserver.on('formAdd', callback); 52``` 53 54## on('formAdd') 55 56 on(type: 'formAdd', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void 57 58订阅卡片新增事件。使用callback异步回调,返回指定卡片使用方应用新增卡片的信息。 59 60**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 61 62**系统能力:** SystemCapability.Ability.Form 63 64**参数:** 65 66| 参数名 | 类型 | 必填 | 说明 | 67| ------ | ------ | ---- | ------- | 68| type | string | 是 | 填写'formAdd',表示卡片新增事件。 | 69| hostBundleName | string | 是 | 指定订阅卡片使用方包的bundleName。缺省则订阅所有卡片使用方的卡片新增事件。 | 70| observerCallback | Callback<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回指定卡片使用方应用新增卡片的信息。 | 71 72**错误码:** 73 74以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 75 76| 错误码ID | 错误信息 | 77| -------- | ------------------------------------------------------------ | 78| 202 | The application is not a system application. | 79| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 80 81**示例:** 82 83```ts 84import { formInfo, formObserver } from '@kit.FormKit'; 85 86let bundleName: string = 'ohos.samples.FormApplication'; 87 88let callback = (data: formInfo.RunningFormInfo) => { 89 console.log(`a new form added, data: ${JSON.stringify(data)}`); 90} 91 92formObserver.on('formAdd', bundleName, callback); 93``` 94 95## off('formAdd') 96 97 off(type: "formAdd", hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void 98 99取消订阅卡片新增事件。使用callback异步回调,返回当前新增卡片的信息。 100 101**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 102 103**系统能力:** SystemCapability.Ability.Form 104 105**参数:** 106 107| 参数名 | 类型 | 必填 | 说明 | 108| ------ | ------ | ---- | ------- | 109| type | string | 是 | 填写'formAdd',表示卡片新增事件。 | 110| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br> 填写该参数时,与注册时填写bundleName的on接口对应。<br> 缺省则订阅所有卡片使用方的卡片删除事件,与注册时未填写bundleName的on接口相对应。 | 111| observerCallback | Callback<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 否 | 回调函数。返回当前新增卡片信息。缺省时,表示注销对应已注册事件回调。<br> 需与对应on('formAdd')的callback一致。| 112 113**错误码:** 114 115以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 116 117| 错误码ID | 错误信息 | 118| -------- | ------------------------------------------------------------ | 119| 202 | The application is not a system application. | 120| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 121 122**示例:** 123 124```ts 125import { formInfo, formObserver } from '@kit.FormKit'; 126 127let bundleName: string = 'ohos.samples.FormApplication'; 128 129let callback = (data: formInfo.RunningFormInfo) => { 130 console.log(`a new form added, data: ${JSON.stringify(data)}`); 131} 132 133formObserver.off('formAdd', bundleName, callback); 134 135``` 136> **说明:** 137> 138> on('formAdd', callback)与off('formAdd', callback)相对应; 139> on('formAdd', bundleName, callback)与off('formAdd', bundleName, callback)相对应; 140> 订阅(on)只能由自己对应的取消订阅接口(off)取消。 141 142## on('formRemove') 143 144 on(type: 'formRemove', observerCallback: Callback<formInfo.RunningFormInfo>): void 145 146订阅卡片删除事件。使用callback异步回调,返回当前删除卡片的信息。 147 148**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 149 150**系统能力:** SystemCapability.Ability.Form 151 152**参数:** 153 154| 参数名 | 类型 | 必填 | 说明 | 155| ------ | ------ | ---- | ------- | 156| type | string | 是 | 填写'formRemove',表示卡片删除事件。 | 157| observerCallback | Callback<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回当前删除卡片的信息。 | 158 159**错误码:** 160 161以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 162 163| 错误码ID | 错误信息 | 164| -------- | ------------------------------------------------------------ | 165| 202 | The application is not a system application. | 166| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 167 168**示例:** 169 170```ts 171import { formInfo, formObserver } from '@kit.FormKit'; 172 173let callback = (data: formInfo.RunningFormInfo) => { 174 console.log(`form deleted, data: ${JSON.stringify(data)}`); 175} 176 177formObserver.on('formRemove', callback); 178``` 179 180## on('formRemove') 181 182 on(type: 'formRemove', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void 183 184订阅卡片删除事件。使用callback异步回调,返回指定卡片使用方应用被删除卡片的信息。 185 186**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 187 188**系统能力:** SystemCapability.Ability.Form 189 190**参数:** 191 192| 参数名 | 类型 | 必填 | 说明 | 193| ------ | ------ | ---- | ------- | 194| type | string | 是 | 填写'formRemove',表示卡片删除事件。 | 195| hostBundleName | string | 是 | 指定订阅卡片使用方包的bundleName。缺省则订阅所有卡片使用方的卡片删除事件。 | 196| observerCallback | Callback<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回指定卡片使用方应用被删除卡片的信息。 | 197 198**错误码:** 199 200以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 201 202| 错误码ID | 错误信息 | 203| -------- | ------------------------------------------------------------ | 204| 202 | The application is not a system application. | 205| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 206 207**示例:** 208 209```ts 210import { formInfo, formObserver } from '@kit.FormKit'; 211 212let bundleName: string = 'ohos.samples.FormApplication'; 213 214let callback = (data: formInfo.RunningFormInfo) => { 215 console.log(`form deleted, data: ${JSON.stringify(data)}`); 216} 217 218formObserver.on('formRemove', bundleName, callback); 219``` 220 221## off('formRemove') 222 223off(type: "formRemove", hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void 224 225取消订阅卡片删除事件。使用callback异步回调,返回当前删除卡片的信息。 226 227**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 228 229**系统能力:** SystemCapability.Ability.Form 230 231**参数:** 232 233| 参数名 | 类型 | 必填 | 说明 | 234| ------ | ------ | ---- | ------- | 235| type | string | 是 | 填写'formRemove',表示卡片删除事件。 | 236| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br> 填写该参数时,与注册时填写bundleName的on接口对应。<br> 缺省则订阅所有卡片使用方的卡片删除事件,与注册时未填写bundleName的on接口相对应。 | 237| observerCallback | Callback<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 否 | 回调函数。返回当前删除卡片的信息。缺省时,表示注销对应已注册事件回调。<br> 需与对应on('formRemove')的callback一致。| 238 239**错误码:** 240 241以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 242 243| 错误码ID | 错误信息 | 244| -------- | ------------------------------------------------------------ | 245| 202 | The application is not a system application. | 246| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 247 248**示例:** 249 250```ts 251import { formInfo, formObserver } from '@kit.FormKit'; 252 253let bundleName: string = 'ohos.samples.FormApplication'; 254 255let callback = (data: formInfo.RunningFormInfo) => { 256 console.log(`a new form added, data: ${JSON.stringify(data)}`); 257} 258 259formObserver.off('formRemove', bundleName, callback); 260``` 261> **说明:** 262> 263> on('formRemove', callback)与off('formRemove', callback)相对应; 264> on('formRemove', bundleName, callback)与off('formRemove', bundleName, callback)相对应; 265> 订阅(on)只能由自己对应的取消订阅接口(off)取消。 266 267## on('notifyVisible') 268 269 on(type: 'notifyVisible', observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void 270 271订阅通知卡片可见的事件。使用callback异步回调。 272 273触发通知卡片可见场景为:调用[notifyVisibleForms](js-apis-app-form-formHost-sys.md#notifyvisibleforms)接口通知对应卡片可见性变更为可见状态。 274 275**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 276 277**系统能力:** SystemCapability.Ability.Form 278 279**参数:** 280 281| 参数名 | 类型 | 必填 | 说明 | 282| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 283| type | string | 是 | 仅允许填写'notifyVisible',表示订阅通知卡片可见的事件。 | 284| observerCallback | Callback <Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。返回订阅该事件的卡片信息列表。 | 285 286**错误码:** 287 288以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 289 290| 错误码ID | 错误信息 | 291| -------- | ------------------------------------------------------------ | 292| 202 | The application is not a system application. | 293| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 294 295**示例:** 296 297```ts 298import { formInfo, formObserver } from '@kit.FormKit'; 299 300let callback = (data: formInfo.RunningFormInfo[]) => { 301 console.log(`form change visibility, data: ${JSON.stringify(data)}`); 302} 303 304formObserver.on('notifyVisible', callback); 305 306``` 307 308## on('notifyVisible') 309 310 on(type: 'notifyVisible', hostBundleName: string, observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void 311 312订阅通知卡片可见的事件。使用callback异步回调。 313 314触发通知卡片可见场景为:调用[notifyVisibleForms](js-apis-app-form-formHost-sys.md#notifyvisibleforms)接口通知对应卡片可见性变更为可见状态。 315 316**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 317 318**系统能力:** SystemCapability.Ability.Form 319 320**参数:** 321 322| 参数名 | 类型 | 必填 | 说明 | 323| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 324| type | string | 是 | 仅允许填写'notifyVisible',表示订阅通知卡片可见的事件。 | 325| hostBundleName | string | 是 | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。 | 326| observerCallback | Callback <Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。返回订阅该事件的卡片信息列表。 | 327 328**错误码:** 329 330以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 331 332| 错误码ID | 错误信息 | 333| -------- | ------------------------------------------------------------ | 334| 202 | The application is not a system application. | 335| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 336 337 338**示例:** 339 340```ts 341import { formInfo, formObserver } from '@kit.FormKit'; 342 343let bundleName: string = 'ohos.samples.FormApplication'; 344 345let callback = (data: formInfo.RunningFormInfo[]) => { 346 console.log(`form change visibility, data: ${JSON.stringify(data)}`); 347} 348 349formObserver.on('notifyVisible', bundleName, callback); 350``` 351 352## off('notifyVisible') 353 354 off(type: "notifyVisible", hostBundleName?: string, observerCallback?: Callback<Array<formInfo.RunningFormInfo>>): void 355 356取消订阅通知卡片可见的事件。使用callback异步回调。 357 358**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 359 360**系统能力:** SystemCapability.Ability.Form 361 362**参数:** 363 364| 参数名 | 类型 | 必填 | 说明 | 365| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 366| type | string | 是 | 仅允许填写'notifyVisible',表示取消订阅通知卡片为可见的事件。 | 367| hostBundleName | string | 否 | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。<br> 填写该参数时,与注册时填写bundleName的on接口对应。 | 368| observerCallback | Callback <Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 否 | 回调函数。返回取消订阅该事件的卡片信息列表。缺省时,表示注销对应已注册订阅的回调。<br> 需与对应on('notifyVisible')的callback一致。 | 369 370**错误码:** 371 372以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 373 374| 错误码ID | 错误信息 | 375| -------- | ------------------------------------------------------------ | 376| 202 | The application is not a system application. | 377| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 378 379**示例:** 380 381```ts 382import { formInfo, formObserver } from '@kit.FormKit'; 383 384let bundleName: string = 'ohos.samples.FormApplication'; 385 386let callback = (data: formInfo.RunningFormInfo[]) => { 387 console.log(`form change visibility, data: ${JSON.stringify(data)}`); 388} 389 390formObserver.off('notifyVisible', bundleName, callback); 391``` 392 393> **说明:** 394> 395> on('notifyVisible', callback)与off('notifyVisible', callback)相对应; 396> on('notifyVisible', bundleName, callback)与off('notifyVisible', bundleName, callback)相对应; 397> 订阅(on)只能由自己对应的取消订阅接口(off)取消。 398 399## on('notifyInvisible') 400 401 on(type: 'notifyInvisible', observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void 402 403订阅通知卡片不可见的事件。使用callback异步回调。 404 405触发通知卡片不可见场景为:调用[notifyInvisibleForms](js-apis-app-form-formHost-sys.md#notifyinvisibleforms)接口通知对应卡片可见性变更为不可见状态。 406 407**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 408 409**系统能力:** SystemCapability.Ability.Form 410 411**参数:** 412 413| 参数名 | 类型 | 必填 | 说明 | 414| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 415| type | string | 是 | 仅允许填写'notifyInvisible',表示订阅卡片不可见的事件。 | 416| observerCallback | Callback <Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。返回订阅通知卡片不可见的卡片信息列表。 | 417 418**错误码:** 419 420以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 421 422| 错误码ID | 错误信息 | 423| -------- | ------------------------------------------------------------ | 424| 202 | The application is not a system application. | 425| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 426 427**示例:** 428 429```ts 430import { formInfo, formObserver } from '@kit.FormKit'; 431 432let callback = (data: formInfo.RunningFormInfo[]) => { 433 console.log(`form change invisibility, data: ${JSON.stringify(data)}`); 434} 435 436formObserver.on('notifyInvisible', callback); 437``` 438 439 440## on('notifyInvisible') 441 442 on(type: 'notifyInvisible', hostBundleName: string, observerCallback: Callback<Array<formInfo.RunningFormInfo>>): void 443 444订阅通知卡片不可见的事件。使用callback异步回调。 445 446触发通知卡片不可见场景为:调用[notifyInvisibleForms](js-apis-app-form-formHost-sys.md#notifyinvisibleforms)接口通知对应卡片可见性变更为不可见状态。 447 448**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 449 450**系统能力:** SystemCapability.Ability.Form 451 452**参数:** 453 454| 参数名 | 类型 | 必填 | 说明 | 455| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 456| type | string | 是 | 仅允许填写'notifyInvisible',表示订阅卡片不可见的事件。 | 457| hostBundleName | string | 是 | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。 | 458| observerCallback | Callback <Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。返回订阅通知卡片不可见的卡片信息列表。 | 459 460**错误码:** 461 462以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 463 464| 错误码ID | 错误信息 | 465| -------- | ------------------------------------------------------------ | 466| 202 | The application is not a system application. | 467| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 468 469**示例:** 470 471```ts 472import { formInfo, formObserver } from '@kit.FormKit'; 473 474let bundleName: string = 'ohos.samples.FormApplication'; 475 476let callback = (data: formInfo.RunningFormInfo[]) => { 477 console.log(`form change invisibility, data: ${JSON.stringify(data)}`); 478} 479 480formObserver.on('notifyInvisible', bundleName, callback); 481``` 482 483## off('notifyInvisible') 484 485 off(type: "notifyInvisible", hostBundleName?: string, observerCallback?: Callback<Array<formInfo.RunningFormInfo>>): void 486 487取消订阅通知卡片不可见事件。使用callback异步回调。 488 489**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 490 491**系统能力:** SystemCapability.Ability.Form 492 493**参数:** 494 495| 参数名 | 类型 | 必填 | 说明 | 496| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 497| type | string | 是 | 仅允许填写'notifyInvisible',表示卡片可见性变更为不可见。 | 498| hostBundleName | string | 否 | 指定卡片使用方的bundleName,用于订阅卡片在该使用方的可见状态变更事件。<br> 填写该参数时,与注册时填写bundleName的on接口对应。<br> | 499| observerCallback | Callback <Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 否 | 回调函数。返回取消订阅通知卡片不可见的卡片信息列表。缺省时,表示注销对应已注册事件回调。<br/> 需与对应on('notifyInvisible')的callback一致。 | 500 501**错误码:** 502 503以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 504 505| 错误码ID | 错误信息 | 506| -------- | ------------------------------------------------------------ | 507| 202 | The application is not a system application. | 508| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 509 510**示例:** 511 512```ts 513import { formInfo, formObserver } from '@kit.FormKit'; 514 515let bundleName: string = 'ohos.samples.FormApplication'; 516 517let callback = (data: formInfo.RunningFormInfo[]) => { 518 console.log(`form change invisibility, data: ${JSON.stringify(data)}`); 519} 520 521formObserver.off('notifyInvisible', bundleName, callback); 522``` 523 524> **说明:** 525> 526> on('notifyInvisible', callback)与off('notifyInvisible', callback)相对应; 527> on('notifyInvisible', bundleName, callback)与off('notifyInvisible', bundleName, callback)相对应; 528> 订阅(on)只能由自己对应的取消订阅接口(off)取消。 529 530 531## getRunningFormInfos 532 533getRunningFormInfos(callback: AsyncCallback<Array<formInfo.RunningFormInfo>>, hostBundleName?: string): void 534 535获取设备上正在运行的所有非临时卡片信息。使用callback异步回调。 536 537**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 538 539**系统能力:** SystemCapability.Ability.Form 540 541**参数:** 542 543| 参数名 | 类型 | 必填 | 说明 | 544| ------ | ------ | ---- | ------- | 545| callback | AsyncCallback<Array<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。获取设备上正在运行的所有非临时卡片信息。当前卡片信息成功,error为undefined,data为查询到的卡片信息。| 546| hostBundleName | string | 否 | 指定要查询的卡片使用方名称,指定后会仅返回该卡片使用方下正在运行的非临时卡片信息。 <br> 缺省时,返回设备上所有正在运行的非临时卡片信息。 | 547 548**错误码:** 549 550以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 551 552| 错误码ID | 错误信息 | 553| -------- | -------- | 554| 201 | Permissions denied. | 555| 202 | The application is not a system application. | 556| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 557| 16500050 | IPC connection error. | 558| 16500060 | Service connection error. | 559 560**示例:** 561 562```ts 563import { formInfo, formObserver } from '@kit.FormKit'; 564import { BusinessError } from '@kit.BasicServicesKit'; 565 566try { 567 formObserver.getRunningFormInfos((error: BusinessError, data: formInfo.RunningFormInfo[]) => { 568 if (error) { 569 console.error(`error, code: ${error.code}, message: ${error.message}`); 570 } else { 571 console.log(`formObserver getRunningFormInfos, data: ${JSON.stringify(data)}`); 572 } 573 }, 'com.example.ohos.formjsdemo'); 574} catch(error) { 575 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 576} 577``` 578 579## getRunningFormInfos<sup>11+</sup> 580 581getRunningFormInfos(callback: AsyncCallback<Array<formInfo.RunningFormInfo>>, isUnusedIncluded: boolean, hostBundleName?: string): void 582 583获取设备上正在运行的所有非临时卡片信息。使用callback异步回调。 584 585**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 586 587**系统能力:** SystemCapability.Ability.Form 588 589**参数:** 590 591| 参数名 | 类型 | 必填 | 说明 | 592| ------ | ------ | ---- | ------- | 593| callback | AsyncCallback<Array<formInfo.[RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。获取设备上正在运行的所有非临时卡片信息。当获取成功时,回调中的error为undefined,data为查询到的卡片信息。| 594| isUnusedIncluded | boolean | 是 | 是否包含未使用的卡片。 | 595| hostBundleName | string | 否 | 指定要查询的卡片使用方名称,指定后会仅返回该卡片使用方下正在运行的非临时卡片信息。 <br> 缺省时,返回设备上所有正在运行的非临时卡片信息。 | 596 597**错误码:** 598 599以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 600 601| 错误码ID | 错误信息 | 602| -------- | -------- | 603| 201 | Permissions denied. | 604| 202 | The application is not a system application. | 605| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 606| 16500050 | IPC connection error. | 607| 16500060 | Service connection error. | 608 609**示例:** 610 611```ts 612import { formInfo, formObserver } from '@kit.FormKit'; 613import { BusinessError } from '@kit.BasicServicesKit'; 614 615try { 616 formObserver.getRunningFormInfos((error: BusinessError, data: formInfo.RunningFormInfo[]) => { 617 if (error) { 618 console.error(`error, code: ${error.code}, message: ${error.message}`); 619 } else { 620 console.log(`formObserver getRunningFormInfos, data: ${JSON.stringify(data)}`); 621 } 622 }, true, 'com.example.ohos.formjsdemo'); 623} catch(error) { 624 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 625} 626``` 627 628## getRunningFormInfos 629 630getRunningFormInfos(hostBundleName?: string): Promise<Array<formInfo.RunningFormInfo>> 631 632获取设备上正在运行的所有非临时卡片信息。使用Promise异步回调。 633 634**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 635 636**系统能力:** SystemCapability.Ability.Form 637 638**参数:** 639 640| 参数名 | 类型 | 必填 | 说明 | 641| ------ | ------ | ---- | ------- | 642| hostBundleName | string | 否 | 指定要查询的卡片使用方名称,指定后会仅返回该卡片使用方下正在运行的非临时卡片信息。 <br> 缺省时,返回设备上所有正在运行的非临时卡片信息。 | 643 644**返回值:** 645 646| 类型 | 说明 | 647| :----------------------------------------------------------- | :---------------------------------- | 648| Promise<Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | Promise对象。返回设备上正在运行的所有非临时卡片信息。 | 649 650**错误码:** 651 652以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 653 654| 错误码ID | 错误信息 | 655| -------- | -------- | 656| 201 | Permissions denied. | 657| 202 | The application is not a system application. | 658| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 659| 16500050 | IPC connection error. | 660| 16500060 | Service connection error. | 661 662**示例:** 663 664```ts 665import { formInfo, formObserver } from '@kit.FormKit'; 666import { BusinessError } from '@kit.BasicServicesKit'; 667 668try { 669 formObserver.getRunningFormInfos('com.example.ohos.formjsdemo').then((data: formInfo.RunningFormInfo[]) => { 670 console.log(`formObserver getRunningFormInfos, data: ${JSON.stringify(data)}`); 671 }).catch((error: BusinessError) => { 672 console.error(`error, code: ${error.code}, message: ${error.message}`); 673 }); 674} catch(error) { 675 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 676} 677``` 678 679## getRunningFormInfos<sup>11+</sup> 680 681getRunningFormInfos(isUnusedIncluded: boolean, hostBundleName?: string): Promise<Array<formInfo.RunningFormInfo>> 682 683获取设备上正在运行的所有非临时卡片信息。使用Promise异步回调。 684 685**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 686 687**系统能力:** SystemCapability.Ability.Form 688 689**参数:** 690 691| 参数名 | 类型 | 必填 | 说明 | 692| ------ | ------ | ---- | ------- | 693| isUnusedIncluded | boolean | 是 | 是否包含未使用的卡片。 | 694| hostBundleName | string | 否 | 指定要查询的卡片使用方名称,指定后会仅返回该卡片使用方下正在运行的非临时卡片信息。 <br> 缺省时,返回设备上所有正在运行的非临时卡片信息。 | 695 696**返回值:** 697 698| 类型 | 说明 | 699| :----------------------------------------------------------- | :---------------------------------- | 700| Promise<Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | Promise对象。返回设备上正在运行的所有非临时卡片信息。 | 701 702**错误码:** 703 704以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 705 706| 错误码ID | 错误信息 | 707| -------- | -------- | 708| 201 | Permissions denied. | 709| 202 | The application is not a system application. | 710| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 711| 16500050 | IPC connection error. | 712| 16500060 | Service connection error. | 713 714**示例:** 715 716```ts 717import { formInfo, formObserver } from '@kit.FormKit'; 718import { BusinessError } from '@kit.BasicServicesKit'; 719 720try { 721 formObserver.getRunningFormInfos(true, 'com.example.ohos.formjsdemo').then((data: formInfo.RunningFormInfo[]) => { 722 console.log(`formObserver getRunningFormInfos, data: ${JSON.stringify(data)}`); 723 }).catch((error: BusinessError) => { 724 console.error(`error, code: ${error.code}, message: ${error.message}`); 725 }); 726} catch(error) { 727 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 728} 729``` 730 731## getRunningFormInfosByFilter 732 733getRunningFormInfosByFilter(formProviderFilter: formInfo.FormProviderFilter): Promise<Array<formInfo.RunningFormInfo>> 734 735根据提供方信息查询已添加的卡片信息列表。使用Promise异步回调。 736 737**模型约束:** 此接口仅可在Stage模型下使用。 738 739**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 740 741**系统能力:** SystemCapability.Ability.Form 742 743**参数:** 744 745| 参数名 | 类型 | 必填 | 说明 | 746| ----------- | --------------- | ---- | -------------------------------- | 747| formProviderFilter | [formInfo.FormProviderFilter](js-apis-app-form-formInfo-sys.md#formproviderfilter10) | 是 | 卡片提供方应用信息。 | 748 749**返回值:** 750 751| 类型 | 说明 | 752| ------------------- | ------------------------- | 753| Promise<Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | Promise对象。返回已添加的卡片信息列表。 | 754 755**错误码:** 756 757以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 758 759| 错误码ID | 错误信息 | 760| -------- | -------- | 761| 201 | Permissions denied. | 762| 202 | The application is not a system application. | 763| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 764| 16500050 | IPC connection error. | 765| 16500100 | Failed to obtain the configuration information. | 766| 16501000 | An internal functional error occurred. | 767 768 769```ts 770import { formInfo, formObserver } from '@kit.FormKit'; 771import { BusinessError } from '@kit.BasicServicesKit'; 772 773let formInstanceFilter: formInfo.FormProviderFilter = { 774 bundleName: "com.example.formprovide", 775 abilityName: "EntryFormAbility", 776 formName: "widget", 777 moduleName: "entry" 778} 779try { 780 formObserver.getRunningFormInfosByFilter(formInstanceFilter).then((data: formInfo.RunningFormInfo[]) => { 781 console.info('formObserver getRunningFormInfosByFilter success, data:' + JSON.stringify(data)); 782 }).catch((error: BusinessError) => { 783 console.error(`error, code: ${error.code}, message: ${error.message}`); 784 }); 785} catch(error) { 786 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 787} 788``` 789 790## getRunningFormInfosByFilter 791 792getRunningFormInfosByFilter(formProviderFilter: formInfo.FormProviderFilter, callback: AsyncCallback<Array<formInfo.RunningFormInfo>>): void 793 794根据提供方信息查询已添加的卡片信息列表。使用callback异步回调。 795 796**模型约束:** 此接口仅可在Stage模型下使用。 797 798**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 799 800**系统能力:** SystemCapability.Ability.Form 801 802**参数:** 803 804| 参数名 | 类型 | 必填 | 说明 | 805| ----------- | --------------- | ---- | -------------------------------- | 806| formProviderFilter | [formInfo.FormProviderFilter](js-apis-app-form-formInfo-sys.md#formproviderfilter10) | 是 | 卡片提供方应用信息。 | 807| callback | AsyncCallback<Array<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)>> | 是 | 回调函数。返回已添加的卡片信息列表。error为undefined,data为查询到的使用方列表信息;否则为错误对象。 | 808 809**错误码:** 810 811以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 812 813| 错误码ID | 错误信息 | 814| -------- | -------- | 815| 201 | Permissions denied. | 816| 202 | The application is not a system application. | 817| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 818| 16500050 | IPC connection error. | 819| 16500100 | Failed to obtain the configuration information. | 820| 16501000 | An internal functional error occurred. | 821 822**示例:** 823 824```ts 825import { formInfo, formObserver } from '@kit.FormKit'; 826import { BusinessError } from '@kit.BasicServicesKit'; 827 828let formInstanceFilter: formInfo.FormProviderFilter = { 829 bundleName: "com.example.formprovide", 830 abilityName: "EntryFormAbility", 831 formName: "widget", 832 moduleName: "entry" 833} 834try { 835 formObserver.getRunningFormInfosByFilter(formInstanceFilter,(error: BusinessError, data: formInfo.RunningFormInfo[]) => { 836 if (error) { 837 console.error(`error, code: ${error.code}, message: ${error.message}`); 838 } else { 839 console.log(`formObserver getRunningFormInfosByFilter, data: ${JSON.stringify(data)}`); 840 } 841 }); 842} catch(error) { 843 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 844} 845``` 846 847## getRunningFormInfoById 848 849getRunningFormInfoById(formId: string): Promise<formInfo.RunningFormInfo> 850 851根据formId查询已添加的卡片信息。使用Promise异步回调。 852 853**模型约束:** 此接口仅可在Stage模型下使用。 854 855**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 856 857**系统能力:** SystemCapability.Ability.Form 858 859**参数:** 860 861| 参数名 | 类型 | 必填 | 说明 | 862| ----------- | --------------- | ---- | -------------------------------- | 863| formId | string | 是 | 卡片标识。 | 864 865**返回值:** 866 867| 类型 | 说明 | 868| ------------------- | ------------------------- | 869| Promise<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | Promise对象。返回已添加的卡片信息。 | 870 871**错误码:** 872 873以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 874 875| 错误码ID | 错误信息 | 876| -------- | -------- | 877| 201 | Permissions denied. | 878| 202 | The application is not a system application. | 879| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 880| 16500050 | IPC connection error. | 881| 16500100 | Failed to obtain the configuration information. | 882| 16501000 | An internal functional error occurred. | 883 884**示例:** 885 886```ts 887import { formInfo, formObserver } from '@kit.FormKit'; 888import { BusinessError } from '@kit.BasicServicesKit'; 889 890let formId: string = '12400633174999288'; 891try { 892 formObserver.getRunningFormInfoById(formId).then((data: formInfo.RunningFormInfo) => { 893 console.info('formObserver getRunningFormInfoById success, data:' + JSON.stringify(data)); 894 }).catch((error: BusinessError) => { 895 console.error(`error, code: ${error.code}, message: ${error.message}`); 896 }); 897} catch(error) { 898 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 899} 900``` 901 902## getRunningFormInfoById<sup>11+</sup> 903 904getRunningFormInfoById(formId: string, isUnusedIncluded: boolean): Promise<formInfo.RunningFormInfo> 905 906根据formId查询卡片已添加的卡片信息。使用Promise异步回调。 907 908**模型约束:** 此接口仅可在Stage模型下使用。 909 910**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 911 912**系统能力:** SystemCapability.Ability.Form 913 914**参数:** 915 916| 参数名 | 类型 | 必填 | 说明 | 917| ----------- | --------------- | ---- | -------------------------------- | 918| formId | string | 是 | 卡片标识。 | 919| isUnusedIncluded | boolean | 是 | 是否包含未使用的卡片。 | 920 921**返回值:** 922 923| 类型 | 说明 | 924| ------------------- | ------------------------- | 925| Promise<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | Promise对象。返回已添加的卡片信息。 | 926 927**错误码:** 928 929以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 930 931| 错误码ID | 错误信息 | 932| -------- | -------- | 933| 201 | Permissions denied. | 934| 202 | The application is not a system application. | 935| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 936| 16500050 | IPC connection error. | 937| 16500100 | Failed to obtain the configuration information. | 938| 16501000 | An internal functional error occurred. | 939 940**示例:** 941 942```ts 943import { formInfo, formObserver } from '@kit.FormKit'; 944import { BusinessError } from '@kit.BasicServicesKit'; 945 946let formId: string = '12400633174999288'; 947try { 948 formObserver.getRunningFormInfoById(formId, true).then((data: formInfo.RunningFormInfo) => { 949 console.info('formObserver getRunningFormInfoById success, data:' + JSON.stringify(data)); 950 }).catch((error: BusinessError) => { 951 console.error(`error, code: ${error.code}, message: ${error.message}`); 952 }); 953} catch(error) { 954 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 955} 956``` 957 958## getRunningFormInfoById 959 960getRunningFormInfoById(formId: string, callback: AsyncCallback<formInfo.RunningFormInfo>): void 961 962根据提供方信息查询已添加的卡片信息。使用callback异步回调。 963 964**模型约束:** 此接口仅可在Stage模型下使用。 965 966**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 967 968**系统能力:** SystemCapability.Ability.Form 969 970**参数:** 971 972| 参数名 | 类型 | 必填 | 说明 | 973| ----------- | --------------- | ---- | -------------------------------- | 974| formId | string | 是 | 卡片标识。 | 975| callback | AsyncCallback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回已添加的卡片信息。error为undefined,data为查询到的使用方列表信息;否则为错误对象。 | 976 977**错误码:** 978 979以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 980 981| 错误码ID | 错误信息 | 982| -------- | -------- | 983| 201 | Permissions denied. | 984| 202 | The application is not a system application. | 985| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 986| 16500050 | IPC connection error. | 987| 16500100 | Failed to obtain the configuration information. | 988| 16501000 | An internal functional error occurred. | 989 990**示例:** 991 992```ts 993import { formInfo, formObserver } from '@kit.FormKit'; 994import { BusinessError } from '@kit.BasicServicesKit'; 995 996let formId: string = '12400633174999288'; 997try { 998 formObserver.getRunningFormInfoById(formId,(error: BusinessError, data: formInfo.RunningFormInfo) => { 999 if (error) { 1000 console.error(`error, code: ${error.code}, message: ${error.message}`); 1001 } else { 1002 console.log(`formObserver getRunningFormInfoById, data: ${JSON.stringify(data)}`); 1003 } 1004 }); 1005} catch(error) { 1006 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 1007} 1008``` 1009 1010## getRunningFormInfoById<sup>11+</sup> 1011 1012getRunningFormInfoById(formId: string, isUnusedIncluded: boolean, callback: AsyncCallback<formInfo.RunningFormInfo>): void 1013 1014根据卡片标识formId,查询已添加的卡片信息。使用callback异步回调。 1015 1016**模型约束:** 此接口仅可在Stage模型下使用。 1017 1018**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1019 1020**系统能力:** SystemCapability.Ability.Form 1021 1022**参数:** 1023 1024| 参数名 | 类型 | 必填 | 说明 | 1025| ----------- | --------------- | ---- | -------------------------------- | 1026| formId | string | 是 | 卡片标识。 | 1027| isUnusedIncluded | boolean | 是 | 是否包含未使用的卡片。 | 1028| callback | AsyncCallback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回已添加的卡片信息。error为undefined,data为查询到的使用方列表信息;否则为错误对象。 | 1029 1030**错误码:** 1031 1032以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[卡片错误码](errorcode-form.md)。 1033 1034| 错误码ID | 错误信息 | 1035| -------- | -------- | 1036| 201 | Permissions denied. | 1037| 202 | The application is not a system application. | 1038| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1039| 16500050 | IPC connection error. | 1040| 16500100 | Failed to obtain the configuration information. | 1041| 16501000 | An internal functional error occurred. | 1042 1043**示例:** 1044 1045```ts 1046import { formInfo, formObserver } from '@kit.FormKit'; 1047import { BusinessError } from '@kit.BasicServicesKit'; 1048 1049let formId: string = '12400633174999288'; 1050try { 1051 formObserver.getRunningFormInfoById(formId, true, (error: BusinessError, data: formInfo.RunningFormInfo) => { 1052 if (error) { 1053 console.error(`error, code: ${error.code}, message: ${error.message}`); 1054 } else { 1055 console.log(`formObserver getRunningFormInfoById, data: ${JSON.stringify(data)}`); 1056 } 1057 }); 1058} catch(error) { 1059 console.error(`catch error, code: ${(error as BusinessError).code}, message: ${(error as BusinessError).message}`); 1060} 1061``` 1062 1063## on('router')<sup>11+</sup> 1064 1065 on(type: 'router', observerCallback: Callback<formInfo.RunningFormInfo>): void 1066 1067订阅卡片router事件。使用callback异步回调,返回触发router事件的卡片信息。 1068 1069**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1070 1071**系统能力:** SystemCapability.Ability.Form 1072 1073**参数:** 1074 1075| 参数名 | 类型 | 必填 | 说明 | 1076| ---------------- | ---------------------------------------- | ---- | ----------------------------------------- | 1077| type | string | 是 | 填写'router',表示订阅卡片的router事件。 | 1078| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回触发router事件的卡片信息。 | 1079 1080**错误码:** 1081 1082以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1083 1084| 错误码ID | 错误信息 | 1085| -------- | -------- | 1086| 202 | The application is not a system application. | 1087| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1088 1089**示例:** 1090 1091```ts 1092import { formInfo, formObserver } from '@kit.FormKit'; 1093 1094let callback = (data: formInfo.RunningFormInfo) => { 1095 console.log('Router event listening in registered form.' + JSON.stringify(data)); 1096}; 1097formObserver.on('router', callback); 1098``` 1099 1100## on('router')<sup>11+</sup> 1101 1102 on(type: 'router', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void 1103 1104订阅指定卡片使用方的卡片router事件。使用callback异步回调,返回触发router事件的卡片信息。 1105 1106**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1107 1108**系统能力:** SystemCapability.Ability.Form 1109 1110**参数:** 1111 1112| 参数名 | 类型 | 必填 | 说明 | 1113| ---------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1114| type | string | 是 | 填写'router',表示订阅卡片的router事件。 | 1115| hostBundleName | string | 是 | 指定卡片使用方的bundleName。缺省则订阅所有卡片使用方的卡片的router事件。 | 1116| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回触发router事件的卡片信息。 | 1117 1118**错误码:** 1119 1120以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1121 1122| 错误码ID | 错误信息 | 1123| -------- | -------- | 1124| 202 | The application is not a system application. | 1125| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1126 1127**示例:** 1128 1129```ts 1130import { formInfo, formObserver } from '@kit.FormKit'; 1131 1132let hostBundleName: string = 'ohos.samples.FormApplication'; 1133let callback = (data: formInfo.RunningFormInfo) => { 1134 console.log('Router event listening in registered form.' + JSON.stringify(data)); 1135}; 1136formObserver.on('router', hostBundleName, callback); 1137``` 1138 1139## off('router')<sup>11+</sup> 1140 1141 off(type: "router", hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void 1142 1143取消订阅卡片router事件。使用callback异步回调,返回触发router事件的卡片信息。 1144 1145**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1146 1147**系统能力:** SystemCapability.Ability.Form 1148 1149**参数:** 1150 1151| 参数名 | 类型 | 必填 | 说明 | 1152| ---------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1153| type | string | 是 | 填写'router',表示取消订阅卡片的router事件。 | 1154| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br>填写该参数时,与注册时填写bundleName的on接口对应。<br>缺省则订阅所有卡片使用方点击router类型卡片的事件,与注册时未填写bundleName的on接口相对应。 | 1155| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 否 | 回调函数。返回触发router事件的卡片信息。缺省时,表示注销对应bundleName下已注册事件回调。<br>需与对应on('router')的callback一致。 | 1156 1157**错误码:** 1158 1159以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1160 1161| 错误码ID | 错误信息 | 1162| -------- | -------- | 1163| 202 | The application is not a system application. | 1164| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1165 1166**示例:** 1167 1168```ts 1169import { formInfo, formObserver } from '@kit.FormKit'; 1170 1171let hostBundleName: string = 'ohos.samples.FormApplication'; 1172let callback = (data: formInfo.RunningFormInfo) => { 1173 console.log('Unregister form router event Listening.' + JSON.stringify(data)); 1174}; 1175formObserver.off('router', hostBundleName, callback); 1176``` 1177 1178## on('message')<sup>11+</sup> 1179 1180 on(type: 'message', observerCallback: Callback<formInfo.RunningFormInfo>): void 1181 1182订阅卡片message事件。使用callback异步回调,返回触发message事件的卡片信息。 1183 1184**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1185 1186**系统能力:** SystemCapability.Ability.Form 1187 1188**参数:** 1189 1190| 参数名 | 类型 | 必填 | 说明 | 1191| ---------------- | ---------------------------------------- | ---- | ----------------------------------------- | 1192| type | string | 是 | 填写'message',表示订阅卡片的message事件。 | 1193| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回触发message事件的卡片信息。 | 1194 1195**错误码:** 1196 1197以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1198 1199| 错误码ID | 错误信息 | 1200| -------- | -------- | 1201| 202 | The application is not a system application. | 1202| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1203 1204**示例:** 1205 1206```ts 1207import { formInfo, formObserver } from '@kit.FormKit'; 1208 1209let callback = (data: formInfo.RunningFormInfo) => { 1210 console.log('Message event listening in registered form.' + JSON.stringify(data)); 1211}; 1212formObserver.on('message', callback); 1213``` 1214 1215## on('message')<sup>11+</sup> 1216 1217 on(type: 'message', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void 1218 1219订阅指定卡片使用方的卡片message事件。使用callback异步回调,返回触发message事件的卡片信息。 1220 1221**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1222 1223**系统能力:** SystemCapability.Ability.Form 1224 1225**参数:** 1226 1227| 参数名 | 类型 | 必填 | 说明 | 1228| ---------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1229| type | string | 是 | 填写'message',表示订阅卡片的message事件。 | 1230| hostBundleName | string | 是 | 指定卡片使用方的bundleName。缺省则订阅所有卡片使用方的卡片的message事件。 | 1231| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回触发message事件的卡片的信息。 | 1232 1233**错误码:** 1234 1235以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1236 1237| 错误码ID | 错误信息 | 1238| -------- | -------- | 1239| 202 | The application is not a system application. | 1240| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1241 1242**示例:** 1243 1244```ts 1245import { formInfo, formObserver } from '@kit.FormKit'; 1246 1247let hostBundleName: string = 'ohos.samples.FormApplication'; 1248let callback = (data: formInfo.RunningFormInfo) => { 1249 console.log('Message event listening in registered form.' + JSON.stringify(data)); 1250}; 1251formObserver.on('message', hostBundleName, callback); 1252``` 1253 1254## off('message')<sup>11+</sup> 1255 1256 off(type: "message", hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void 1257 1258取消订阅卡片message事件。使用callback异步回调,返回触发message事件的卡片的信息。 1259 1260**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1261 1262**系统能力:** SystemCapability.Ability.Form 1263 1264**参数:** 1265 1266| 参数名 | 类型 | 必填 | 说明 | 1267| ---------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1268| type | string | 是 | 填写'message',表示取消订阅卡片的message事件。 | 1269| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br>填写该参数时,与注册时填写bundleName的on接口对应。<br>缺省则取消订阅所有卡片使用方的点击事件,与注册时未填写bundleName的on接口相对应。 | 1270| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 否 | 回调函数。返回触发message事件的卡片的信息。缺省时,表示注销对应已注册事件回调。<br>需与对应on('message')的callback一致。 | 1271 1272**错误码:** 1273 1274以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1275 1276| 错误码ID | 错误信息 | 1277| -------- | -------- | 1278| 202 | The application is not a system application. | 1279| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1280 1281**示例:** 1282 1283```ts 1284import { formInfo, formObserver } from '@kit.FormKit'; 1285 1286let hostBundleName: string = 'ohos.samples.FormApplication'; 1287let callback = (data: formInfo.RunningFormInfo) => { 1288 console.log('Unregister form Message event Listening.' + JSON.stringify(data)); 1289}; 1290formObserver.off('message', hostBundleName, callback); 1291``` 1292 1293## on('call')<sup>11+</sup> 1294 1295 on(type: 'call', observerCallback: Callback<formInfo.RunningFormInfo>): void 1296 1297订阅卡片call事件。使用callback异步回调,返回触发call事件的卡片信息。 1298 1299**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1300 1301**系统能力:** SystemCapability.Ability.Form 1302 1303**参数:** 1304 1305| 参数名 | 类型 | 必填 | 说明 | 1306| ---------------- | ---------------------------------------- | ---- | ----------------------------------------- | 1307| type | string | 是 | 填写'call',表示订阅卡片的call事件。 | 1308| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回触发call事件的卡片信息。 | 1309 1310**错误码:** 1311 1312以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1313 1314| 错误码ID | 错误信息 | 1315| -------- | -------- | 1316| 202 | The application is not a system application. | 1317| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1318 1319**示例:** 1320 1321```ts 1322import { formInfo, formObserver } from '@kit.FormKit'; 1323 1324let callback = (data: formInfo.RunningFormInfo) => { 1325 console.log('Call event listening in registered form.' + JSON.stringify(data)); 1326}; 1327formObserver.on('call', callback); 1328``` 1329 1330## on('call')<sup>11+</sup> 1331 1332 on(type: 'call', hostBundleName: string, observerCallback: Callback<formInfo.RunningFormInfo>): void 1333 1334订阅指定卡片使用方的卡片call事件。使用callback异步回调,返回触发call事件的卡片信息。 1335 1336**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1337 1338**系统能力:** SystemCapability.Ability.Form 1339 1340**参数:** 1341 1342| 参数名 | 类型 | 必填 | 说明 | 1343| ---------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1344| type | string | 是 | 填写'call',表示订阅卡片的call事件。 | 1345| hostBundleName | string | 是 | 指定卡片使用方的bundleName。缺省则订阅所有卡片使用方的卡片的call事件。 | 1346| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 是 | 回调函数。返回触发call事件的卡片信息。 | 1347 1348**错误码:** 1349 1350以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1351 1352| 错误码ID | 错误信息 | 1353| -------- | -------- | 1354| 202 | The application is not a system application. | 1355| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1356 1357**示例:** 1358 1359```ts 1360import { formInfo, formObserver } from '@kit.FormKit'; 1361 1362let hostBundleName: string = 'ohos.samples.FormApplication'; 1363let callback = (data: formInfo.RunningFormInfo) => { 1364 console.log('Call event listening in registered form.' + JSON.stringify(data)); 1365}; 1366formObserver.on('call', hostBundleName, callback); 1367``` 1368 1369## off('call')<sup>11+</sup> 1370 1371 off(type: "call", hostBundleName?: string, observerCallback?: Callback<formInfo.RunningFormInfo>): void 1372 1373取消订阅卡片call事件。使用callback异步回调,返回触发call事件的卡片信息。 1374 1375**需要权限:** ohos.permission.OBSERVE_FORM_RUNNING 1376 1377**系统能力:** SystemCapability.Ability.Form 1378 1379**参数:** 1380 1381| 参数名 | 类型 | 必填 | 说明 | 1382| ---------------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1383| type | string | 是 | 填写'call',表示取消订阅卡片的call事件。 | 1384| hostBundleName | string | 否 | 指定订阅卡片使用方包的bundleName。<br>填写该参数时,与注册时填写bundleName的on接口对应。<br>缺省则取消订阅所有卡片使用方的点击事件,与注册时未填写bundleName的on接口相对应。 | 1385| observerCallback | Callback<[formInfo.RunningFormInfo](js-apis-app-form-formInfo-sys.md#runningforminfo10)> | 否 | 回调函数。返回触发call事件的卡片信息。缺省时,表示注销对应已注册事件回调。<br>需与对应on('call')的callback一致。 | 1386 1387**错误码:** 1388 1389以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 1390 1391| 错误码ID | 错误信息 | 1392| -------- | -------- | 1393| 202 | The application is not a system application. | 1394| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1395 1396**示例:** 1397 1398```ts 1399import { formInfo, formObserver } from '@kit.FormKit'; 1400 1401let hostBundleName: string = 'ohos.samples.FormApplication'; 1402let callback = (data: formInfo.RunningFormInfo) => { 1403 console.log('Unregister form Call event Listening.' + JSON.stringify(data)); 1404}; 1405formObserver.off('call', hostBundleName, callback); 1406```