js-apis-app-form-formHost.md 66.2 KB
Newer Older
Y
yangzk 已提交
1
# @ohos.app.form.formHost (formHost)
Y
yanwenhao 已提交
2

Y
yangzk 已提交
3
formHost模块提供了卡片使用方相关接口的能力,包括对使用方同一用户下安装的卡片进行删除、释放、请求更新、获取卡片信息、状态等操作。
Y
yanwenhao 已提交
4 5 6 7 8 9 10 11

> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口均为系统接口。

## 导入模块

M
m00512953 已提交
12
```ts
Y
yanwenhao 已提交
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
import formHost from '@ohos.app.form.formHost';
```

## deleteForm

deleteForm(formId: string, callback: AsyncCallback<void>): void

删除指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务不再保留有关该卡片的信息。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当删除指定的卡片成功,error为undefined,否则为错误对象 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
37
| 201 | Permissions denied. |
38
| 202 | The application is not a system application. |
39 40 41 42 43 44
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
45 46

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
47 48 49

**示例:**

M
m00512953 已提交
50
```ts
C
chenyuyan 已提交
51
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
52
import Base from '@ohos.base';
C
chenyuyan 已提交
53

Y
yanwenhao 已提交
54
try {
X
xuzhihao 已提交
55 56
  let formId: string = '12400633174999288';
  formHost.deleteForm(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
57
  if (error) {
M
mingxihua 已提交
58
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
59 60 61 62 63
  } else {
    console.log('formHost deleteForm success');
  }
  });
} catch (error) {
M
mingxihua 已提交
64
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
}
```

## deleteForm

deleteForm(formId: string): Promise<void>

删除指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务不再保留有关该卡片的信息。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |


**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
95 96 97 98 99 100 101 102
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
103 104

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
105 106 107

**参数:**

M
m00512953 已提交
108
```ts
C
chenyuyan 已提交
109
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
110
import Base from '@ohos.base';
C
chenyuyan 已提交
111

Y
yanwenhao 已提交
112
try {
X
xuzhihao 已提交
113
  let formId: string = '12400633174999288';
Y
yanwenhao 已提交
114 115
  formHost.deleteForm(formId).then(() => {
    console.log('formHost deleteForm success');
X
xuzhihao 已提交
116 117
  }).catch((error: Base.BusinessError) => {
    console.error('formHost deleteForm, error: ${JSON.stringify(error)}');
Y
yanwenhao 已提交
118 119
  });
} catch(error) {
M
mingxihua 已提交
120
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
}
```

## releaseForm

releaseForm(formId: string, callback: AsyncCallback<void>): void

释放指定的卡片。调用此方法后,应用程序将无法使用该卡片,但卡片管理器服务仍然保留有关该卡片的缓存信息和存储信息。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当释放指定的卡片成功,error为undefined;否则为错误对象。|

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
145 146 147 148 149 150 151 152
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
153 154

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
155 156 157

**示例:**

M
m00512953 已提交
158
```ts
C
chenyuyan 已提交
159
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
160
import Base from '@ohos.base';
C
chenyuyan 已提交
161

Y
yanwenhao 已提交
162
try {
X
xuzhihao 已提交
163 164
  let formId: string = '12400633174999288';
  formHost.releaseForm(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
165
    if (error) {
M
mingxihua 已提交
166
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
167 168 169
    }
  });
} catch(error) {
M
mingxihua 已提交
170
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
}
```

## releaseForm

releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback<void>): void

释放指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务保留有关该卡片的存储信息,可以选择是否保留缓存信息。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名         | 类型     | 必填 | 说明        |
| -------------- | ------  | ---- | ----------- |
| formId         | string  | 是   | 卡片标识。     |
| isReleaseCache | boolean | 是   | 是否释放缓存。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当释放指定的卡片成功,error为undefined;否则为错误对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
196 197 198 199 200 201 202 203
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
204 205

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
206 207 208

**示例:**

M
m00512953 已提交
209
```ts
C
chenyuyan 已提交
210
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
211
import Base from '@ohos.base';
C
chenyuyan 已提交
212

Y
yanwenhao 已提交
213
try {
X
xuzhihao 已提交
214 215
  let formId: string = '12400633174999288';
  formHost.releaseForm(formId, true, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
216
    if (error) {
M
mingxihua 已提交
217
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
218 219 220
    }
  });
} catch(error) {
M
mingxihua 已提交
221
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
}
```

## releaseForm

releaseForm(formId: string, isReleaseCache?: boolean): Promise<void>

释放指定的卡片。调用此方法后,应用程序将无法使用该卡片,卡片管理器服务保留有关该卡片的存储信息,可以选择是否保留缓存信息。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名         | 类型     | 必填 | 说明        |
| -------------- | ------  | ---- | ----------- |
| formId         | string  | 是   | 卡片标识。     |
W
form  
wangkailong 已提交
240
| isReleaseCache | boolean | 否   | 是否释放缓存,默认为false。  |
Y
yanwenhao 已提交
241 242 243 244 245 246 247 248 249 250 251

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
252 253 254 255 256 257 258 259
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
260 261

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
262 263 264

**示例:**

M
m00512953 已提交
265
```ts
C
chenyuyan 已提交
266
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
267
import Base from '@ohos.base';
C
chenyuyan 已提交
268

Y
yanwenhao 已提交
269
try {
X
xuzhihao 已提交
270
  let formId: string = '12400633174999288';
Y
yanwenhao 已提交
271 272
  formHost.releaseForm(formId, true).then(() => {
    console.log('formHost releaseForm success');
X
xuzhihao 已提交
273
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
274
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
275 276
  });
} catch(error) {
M
mingxihua 已提交
277
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301
}
```

## requestForm

requestForm(formId: string, callback: AsyncCallback<void>): void

请求卡片更新。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当请求卡片更新成功,error为undefined;否则为错误对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
302 303 304 305 306 307 308 309
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
310 311

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
312 313 314

**示例:**

M
m00512953 已提交
315
```ts
C
chenyuyan 已提交
316
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
317
import Base from '@ohos.base';
C
chenyuyan 已提交
318

Y
yanwenhao 已提交
319
try {
X
xuzhihao 已提交
320 321
  let formId: string = '12400633174999288';
  formHost.requestForm(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
322
    if (error) {
M
mingxihua 已提交
323
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
324 325 326
    }
  });
} catch(error) {
M
mingxihua 已提交
327
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356
}
```

## requestForm

requestForm(formId: string): Promise<void>

请求卡片更新。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
357 358 359 360 361 362 363 364
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
365 366

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
367 368 369

**示例:**

M
m00512953 已提交
370
```ts
C
chenyuyan 已提交
371
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
372
import Base from '@ohos.base';
C
chenyuyan 已提交
373

Y
yanwenhao 已提交
374
try {
X
xuzhihao 已提交
375
  let formId: string = '12400633174999288';
Y
yanwenhao 已提交
376 377
  formHost.requestForm(formId).then(() => {
    console.log('formHost requestForm success');
X
xuzhihao 已提交
378
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
379
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
380 381
  });
} catch(error) {
M
mingxihua 已提交
382
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
383 384 385 386
}

```

D
fix  
donglin 已提交
387
## castToNormalForm
Y
yanwenhao 已提交
388

D
fix  
donglin 已提交
389
castToNormalForm(formId: string, callback: AsyncCallback<void>): void
Y
yanwenhao 已提交
390 391 392 393 394 395 396 397 398 399 400 401

将指定的临时卡片转换为普通卡片。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |
Y
yangzk 已提交
402
| callback | AsyncCallback<void> | 是 | 回调函数。当将指定的临时卡片转换为普通卡片成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
403 404 405 406 407

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
408 409 410 411 412 413 414 415
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501002 | The number of forms exceeds upper bound. |
| 16501003 | The form can not be operated by the current application. |
416 417

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
418 419 420

**示例:**

M
m00512953 已提交
421
```ts
C
chenyuyan 已提交
422
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
423
import Base from '@ohos.base';
C
chenyuyan 已提交
424

Y
yanwenhao 已提交
425
try {
X
xuzhihao 已提交
426 427
  let formId: string = '12400633174999288';
  formHost.castToNormalForm(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
428
    if (error) {
M
mingxihua 已提交
429
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
430 431 432
    }
  });
} catch(error) {
M
mingxihua 已提交
433
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
434 435 436
}
```

D
fix  
donglin 已提交
437
## castToNormalForm
Y
yanwenhao 已提交
438

D
fix  
donglin 已提交
439
castToNormalForm(formId: string): Promise<void>
Y
yanwenhao 已提交
440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462

将指定的临时卡片转换为普通卡片。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。|

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
463 464 465 466 467 468 469 470
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501002 | The number of forms exceeds upper bound. |
| 16501003 | The form can not be operated by the current application. |
471 472

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
473 474 475

**示例:**

M
m00512953 已提交
476
```ts
C
chenyuyan 已提交
477
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
478
import Base from '@ohos.base';
C
chenyuyan 已提交
479

Y
yanwenhao 已提交
480
try {
X
xuzhihao 已提交
481
  let formId: string = '12400633174999288';
D
fix  
donglin 已提交
482
  formHost.castToNormalForm(formId).then(() => {
Y
yanwenhao 已提交
483
    console.log('formHost castTempForm success');
X
xuzhihao 已提交
484
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
485
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
486 487
  });
} catch(error) {
M
mingxihua 已提交
488
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
}
```

## notifyVisibleForms

notifyVisibleForms(formIds: Array<string>, callback: AsyncCallback<void>): void

向卡片框架发送通知以使指定的卡片可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds  | Array<string>       | 是   | 卡片标识列表。         |
Y
yangzk 已提交
507
| callback | AsyncCallback<void> | 是 | 回调函数。当向卡片框架发送通知以使指定的卡片可见成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
508 509 510 511 512

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
513 514 515 516 517 518
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
519 520

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
521 522 523

**示例:**

M
m00512953 已提交
524
```ts
C
chenyuyan 已提交
525
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
526
import Base from '@ohos.base';
C
chenyuyan 已提交
527

Y
yanwenhao 已提交
528
try {
X
xuzhihao 已提交
529 530
  let formId: string[] = ['12400633174999288'];
  formHost.notifyVisibleForms(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
531
    if (error) {
M
mingxihua 已提交
532
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
533 534 535
    }
  });
} catch(error) {
M
mingxihua 已提交
536
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565
}
```

## notifyVisibleForms

notifyVisibleForms(formIds: Array<string>): Promise<void>

向卡片框架发送通知以使指定的卡片可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array<string> | 是   | 卡片标识列表。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
566 567 568 569 570 571
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
572 573

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
574 575 576

**示例:**

M
m00512953 已提交
577
```ts
C
chenyuyan 已提交
578
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
579
import Base from '@ohos.base';
C
chenyuyan 已提交
580

Y
yanwenhao 已提交
581
try {
X
xuzhihao 已提交
582
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
583 584
  formHost.notifyVisibleForms(formId).then(() => {
    console.log('formHost notifyVisibleForms success');
X
xuzhihao 已提交
585
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
586
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
587 588
  });
} catch(error) {
M
mingxihua 已提交
589
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607
}
```

## notifyInvisibleForms

notifyInvisibleForms(formIds: Array<string>, callback: AsyncCallback<void>): void

向卡片框架发送通知以使指定的卡片不可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds  | Array<string>       | 是   | 卡片标识列表。|
Y
yangzk 已提交
608
| callback | AsyncCallback<void> | 是 | 回调函数。当向卡片框架发送通知以使指定的卡片不可见成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
609 610 611 612 613

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
614 615 616 617 618 619
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
620 621

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
622 623 624

**示例:**

M
m00512953 已提交
625
```ts
C
chenyuyan 已提交
626
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
627
import Base from '@ohos.base';
C
chenyuyan 已提交
628

Y
yanwenhao 已提交
629
try {
X
xuzhihao 已提交
630 631
  let formId: string[] = ['12400633174999288'];
  formHost.notifyInvisibleForms(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
632
    if (error) {
M
mingxihua 已提交
633
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
634 635 636
    }
  });
} catch(error) {
M
mingxihua 已提交
637
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666
}
```

## notifyInvisibleForms

notifyInvisibleForms(formIds: Array<string>): Promise<void>

向卡片框架发送通知以使指定的卡片不可见。该方法调用成功后,会调用onVisibilityChange通知卡片提供方。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array<string> | 是   | 卡片标识列表。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。|

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
667 668 669 670 671 672
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
673 674

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
675 676 677

**示例:**

M
m00512953 已提交
678
```ts
C
chenyuyan 已提交
679
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
680
import Base from '@ohos.base';
C
chenyuyan 已提交
681

Y
yanwenhao 已提交
682
try {
X
xuzhihao 已提交
683
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
684 685
  formHost.notifyInvisibleForms(formId).then(() => {
    console.log('formHost notifyInvisibleForms success');
X
xuzhihao 已提交
686
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
687
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
688 689
  });
} catch(error) {
M
mingxihua 已提交
690
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708
}
```

## enableFormsUpdate

enableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void>): void

向卡片框架发送通知以使指定的卡片可以更新。该方法调用成功后,卡片刷新状态设置为使能,卡片可以接收来自卡片提供方的更新。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds  | Array<string>       | 是   | 卡片标识列表。         |
Y
yangzk 已提交
709
| callback | AsyncCallback<void> | 是 | 回调函数。当向卡片框架发送通知以使指定的卡片可以更新成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
710 711 712 713 714

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
715 716 717 718 719 720 721
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501003 | The form can not be operated by the current application. |
722 723

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
724 725 726

**示例:**

M
m00512953 已提交
727
```ts
C
chenyuyan 已提交
728
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
729
import Base from '@ohos.base';
C
chenyuyan 已提交
730

Y
yanwenhao 已提交
731
try {
X
xuzhihao 已提交
732 733
  let formId: string[] = ['12400633174999288'];
  formHost.enableFormsUpdate(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
734
    if (error) {
M
mingxihua 已提交
735
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
736 737 738
    }
  });
} catch(error) {
M
mingxihua 已提交
739
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
}
```

## enableFormsUpdate

enableFormsUpdate(formIds: Array<string>): Promise<void>

向卡片框架发送通知以使指定的卡片可以更新。该方法调用成功后,卡片刷新状态设置为使能,卡片可以接收来自卡片提供方的更新。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array<string> | 是   | 卡片标识列表。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
769 770 771 772 773 774 775
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501003 | The form can not be operated by the current application. |
776 777

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
778 779 780

**示例:**

M
m00512953 已提交
781
```ts
C
chenyuyan 已提交
782
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
783
import Base from '@ohos.base';
C
chenyuyan 已提交
784

Y
yanwenhao 已提交
785
try {
X
xuzhihao 已提交
786
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
787 788
  formHost.enableFormsUpdate(formId).then(() => {
    console.log('formHost enableFormsUpdate success');
X
xuzhihao 已提交
789
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
790
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
791 792
  });
} catch(error) {
M
mingxihua 已提交
793
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811
}
```

## disableFormsUpdate

disableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void>): void

向卡片框架发送通知以使指定的卡片不可以更新。该方法调用成功后,卡片刷新状态设置为去使能,卡片不可以接收来自卡片提供方的更新。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds  | Array<string>       | 是   | 卡片标识列表。         |
Y
yangzk 已提交
812
| callback | AsyncCallback<void> | 是 | 回调函数。当向卡片框架发送通知以使指定的卡片不可以更新成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
813 814 815 816 817

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
818 819 820 821 822 823 824 825
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
826 827

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
828 829 830

**示例:**

M
m00512953 已提交
831
```ts
C
chenyuyan 已提交
832
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
833
import Base from '@ohos.base';
C
chenyuyan 已提交
834

Y
yanwenhao 已提交
835
try {
X
xuzhihao 已提交
836 837
  let formId: string[] = ['12400633174999288'];
  formHost.disableFormsUpdate(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
838
    if (error) {
M
mingxihua 已提交
839
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
840 841 842
    }
  });
} catch(error) {
M
mingxihua 已提交
843
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872
}
```

## disableFormsUpdate

disableFormsUpdate(formIds: Array<string>): Promise<void>

向卡片框架发送通知以使指定的卡片不可以更新。该方法调用成功后,卡片刷新状态设置为去使能,卡片不可以接收来自卡片提供方的更新。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array<string> | 是   | 卡片标识列表。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
873 874 875 876 877 878 879 880
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
881 882

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
883 884 885

**示例:**

M
m00512953 已提交
886
```ts
C
chenyuyan 已提交
887
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
888
import Base from '@ohos.base';
C
chenyuyan 已提交
889

Y
yanwenhao 已提交
890
try {
X
xuzhihao 已提交
891
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
892 893
  formHost.disableFormsUpdate(formId).then(() => {
    console.log('formHost disableFormsUpdate success');
X
xuzhihao 已提交
894
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
895
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
896 897
  });
} catch(error) {
M
mingxihua 已提交
898
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
899 900 901 902 903 904 905 906 907 908 909 910 911 912 913
}
```

## isSystemReady

isSystemReady(callback: AsyncCallback<void>): void

检查系统是否准备好。使用callback异步回调。

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Y
yangzk 已提交
914
| callback | AsyncCallback<void> | 是 | 回调函数。当检查系统是否准备好成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
915

916 917 918 919 920 921
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 202 | The application is not a system application.   |
| 401 | If the input parameter is not valid parameter. |
922 923

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
924

Y
yanwenhao 已提交
925 926
**示例:**

M
m00512953 已提交
927
```ts
C
chenyuyan 已提交
928
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
929
import Base from '@ohos.base';
C
chenyuyan 已提交
930

Y
yanwenhao 已提交
931
try {
X
xuzhihao 已提交
932
  formHost.isSystemReady((error: Base.BusinessError) => {
Y
yanwenhao 已提交
933
    if (error) {
M
mingxihua 已提交
934
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
935 936 937
    }
  });
} catch(error) {
M
mingxihua 已提交
938
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955
}
```

## isSystemReady

isSystemReady(): Promise<void>

检查系统是否准备好。使用Promise异步回调。

**系统能力**:SystemCapability.Ability.Form

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise<void> | 无返回结果的Promise对象。 |

956 957 958 959 960
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 202 | The application is not a system application.   |
961 962

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
963

Y
yanwenhao 已提交
964 965
**示例:**

M
m00512953 已提交
966
```ts
C
chenyuyan 已提交
967
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
968
import Base from '@ohos.base';
C
chenyuyan 已提交
969

Y
yanwenhao 已提交
970 971 972
try {
  formHost.isSystemReady().then(() => {
    console.log('formHost isSystemReady success');
X
xuzhihao 已提交
973
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
974
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
975 976
  });
} catch(error) {
M
mingxihua 已提交
977
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
978 979 980 981 982 983 984 985 986 987 988 989 990
}
```

## getAllFormsInfo

getAllFormsInfo(callback: AsyncCallback<Array<formInfo.FormInfo>>): void

获取设备上所有应用提供的卡片信息。使用callback异步回调。

**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

991 992 993 994 995 996 997 998 999 1000
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
1001 1002

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
1003

Y
yanwenhao 已提交
1004 1005 1006 1007
**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Y
yangzk 已提交
1008
| callback | AsyncCallback<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | 是 | 回调函数。当获取设备上所有应用提供的卡片信息成功,error为undefined,data为查询到的卡片信息;否则为错误对象。 |
Y
yanwenhao 已提交
1009 1010 1011

**示例:**

M
m00512953 已提交
1012
```ts
C
chenyuyan 已提交
1013
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1014
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1015
import Base from '@ohos.base';
C
chenyuyan 已提交
1016

Y
yanwenhao 已提交
1017
try {
X
xuzhihao 已提交
1018
  formHost.getAllFormsInfo((error: Base.BusinessError, data: formInfo.FormInfo[]) => {
Y
yanwenhao 已提交
1019
    if (error) {
M
mingxihua 已提交
1020
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1021
    } else {
X
xuzhihao 已提交
1022
      console.log(`formHost getAllFormsInfo, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1023 1024 1025
    }
  });
} catch(error) {
M
mingxihua 已提交
1026
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039
}
```

## getAllFormsInfo

getAllFormsInfo(): Promise<Array<formInfo.FormInfo>>

获取设备上所有应用提供的卡片信息。使用Promise异步回调。

**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

1040 1041 1042 1043 1044 1045 1046 1047 1048
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
1049 1050

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
1051

Y
yanwenhao 已提交
1052 1053
**返回值:**

Y
yangzk 已提交
1054 1055 1056
| 类型                                                         | 说明                                |
| :----------------------------------------------------------- | :---------------------------------- |
| Promise<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | Promise对象,返回查询到的卡片信息。 |
Y
yanwenhao 已提交
1057 1058 1059

**示例:**

M
m00512953 已提交
1060
```ts
C
chenyuyan 已提交
1061
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1062
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1063
import Base from '@ohos.base';
C
chenyuyan 已提交
1064

Y
yanwenhao 已提交
1065
try {
X
xuzhihao 已提交
1066 1067 1068
  formHost.getAllFormsInfo().then((data: formInfo.FormInfo[]) => {
    console.log(`formHost getAllFormsInfo data: ${JSON.stringify(data)}`);
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1069
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1070 1071
  });
} catch(error) {
M
mingxihua 已提交
1072
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
}
```

## getFormsInfo

getFormsInfo(bundleName: string, callback: AsyncCallback<Array<formInfo.FormInfo>>): void

获取设备上指定应用程序提供的卡片信息。使用callback异步回调。

**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
1090
| bundleName | string | 是 | 要查询的应用Bundle名称。 |
Y
yangzk 已提交
1091
| callback | AsyncCallback<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | 是 | 回调函数。当获取设备上指定应用程序提供的卡片信息成功,error为undefined,data为查询到的卡片信息;否则为错误对象。 |
Y
yanwenhao 已提交
1092 1093 1094 1095 1096

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1097 1098 1099 1100 1101 1102 1103
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |
1104 1105

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1106 1107 1108

**示例:**

M
m00512953 已提交
1109
```ts
C
chenyuyan 已提交
1110
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1111
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1112
import Base from '@ohos.base';
C
chenyuyan 已提交
1113

Y
yanwenhao 已提交
1114
try {
X
xuzhihao 已提交
1115
  formHost.getFormsInfo('com.example.ohos.formjsdemo', (error: Base.BusinessError, data: formInfo.FormInfo[]) => {
Y
yanwenhao 已提交
1116
    if (error) {
M
mingxihua 已提交
1117
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1118
    } else {
X
xuzhihao 已提交
1119
      console.log(`formHost getFormsInfo, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1120 1121 1122
    }
  });
} catch(error) {
M
mingxihua 已提交
1123
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140
}
```

## getFormsInfo

getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback<Array<formInfo.FormInfo>>): void

获取设备上指定应用程序提供的卡片信息。使用callback异步回调。

**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
1141
| bundleName | string | 是 | 要查询的应用Bundle名称。 |
Y
yanwenhao 已提交
1142
| moduleName | string | 是 |  要查询的模块名称。 |
Y
yangzk 已提交
1143
| callback | AsyncCallback<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | 是 | 回调函数。当获取设备上指定应用程序提供的卡片信息成功,error为undefined,data为查询到的卡片信息;否则为错误对象。 |
Y
yanwenhao 已提交
1144 1145 1146 1147 1148

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1149 1150 1151 1152 1153 1154 1155
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |
1156 1157

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1158 1159 1160

**示例:**

M
m00512953 已提交
1161
```ts
C
chenyuyan 已提交
1162
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1163
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1164
import Base from '@ohos.base';
C
chenyuyan 已提交
1165

Y
yanwenhao 已提交
1166
try {
X
xuzhihao 已提交
1167
  formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry', (error: Base.BusinessError, data: formInfo.FormInfo[]) => {
Y
yanwenhao 已提交
1168
    if (error) {
M
mingxihua 已提交
1169
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1170
    } else {
M
mingxihua 已提交
1171
      console.log('formHost getFormsInfo, data: ${JSON.stringify(data)}');
Y
yanwenhao 已提交
1172 1173 1174
    }
  });
} catch(error) {
M
mingxihua 已提交
1175
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192
}
```

## getFormsInfo

getFormsInfo(bundleName: string, moduleName?: string): Promise<Array<formInfo.FormInfo>>

获取设备上指定应用程序提供的卡片信息。使用Promise异步回调。

**需要权限**:ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
1193
| bundleName | string | 是 | 要查询的应用Bundle名称。 |
W
form  
wangkailong 已提交
1194
| moduleName | string | 否 |  要查询的模块名称,缺省默认为空。 |
Y
yanwenhao 已提交
1195 1196 1197

**返回值:**

Y
yangzk 已提交
1198 1199 1200
| 类型                                                         | 说明                                |
| :----------------------------------------------------------- | :---------------------------------- |
| Promise<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | Promise对象,返回查询到的卡片信息。 |
Y
yanwenhao 已提交
1201 1202 1203 1204 1205

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1206 1207 1208 1209 1210 1211 1212
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |
1213 1214

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1215 1216 1217

**示例:**

M
m00512953 已提交
1218
```ts
C
chenyuyan 已提交
1219
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1220
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1221
import Base from '@ohos.base';
C
chenyuyan 已提交
1222

Y
yanwenhao 已提交
1223
try {
X
xuzhihao 已提交
1224 1225 1226
  formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry').then((data: formInfo.FormInfo[]) => {
    console.log(`formHost getFormsInfo, data: ${JSON.stringify(data)}`);
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1227
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1228 1229
  });
} catch(error) {
M
mingxihua 已提交
1230
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248
}
```

## deleteInvalidForms

deleteInvalidForms(formIds: Array<string>, callback: AsyncCallback<number>): void

根据列表删除应用程序的无效卡片。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array<string> | 是   | 有效卡片标识列表。 |
Y
yangzk 已提交
1249
| callback | AsyncCallback<number> | 是 | 回调函数。当根据列表删除应用程序的无效卡片成功,error为undefined,data为删除的卡片个数;否则为错误对象。 |
Y
yanwenhao 已提交
1250

1251 1252 1253 1254 1255 1256 1257 1258 1259 1260
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
1261 1262

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
1263

Y
yanwenhao 已提交
1264 1265
**示例:**

M
m00512953 已提交
1266
```ts
C
chenyuyan 已提交
1267
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1268
import Base from '@ohos.base';
C
chenyuyan 已提交
1269

Y
yanwenhao 已提交
1270
try {
X
xuzhihao 已提交
1271 1272
  let formIds: string[] = new Array('12400633174999288', '12400633174999289');
  formHost.deleteInvalidForms(formIds, (error: Base.BusinessError, data: number) => {
Y
yanwenhao 已提交
1273
    if (error) {
M
mingxihua 已提交
1274
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1275
    } else {
X
xuzhihao 已提交
1276
      console.log(`formHost deleteInvalidForms, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1277 1278 1279
    }
  });
} catch(error) {
M
mingxihua 已提交
1280
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305
}
```

## deleteInvalidForms

deleteInvalidForms(formIds: Array<string>): Promise<number>

根据列表删除应用程序的无效卡片。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array<string> | 是   | 有效卡片标识列表。 |

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
| Promise<number> | Promise对象,返回删除的卡片个数。 |

1306 1307 1308 1309 1310 1311 1312 1313 1314 1315
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
1316 1317

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
1318

Y
yanwenhao 已提交
1319 1320
**示例:**

M
m00512953 已提交
1321
```ts
C
chenyuyan 已提交
1322
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1323
import Base from '@ohos.base';
C
chenyuyan 已提交
1324

Y
yanwenhao 已提交
1325
try {
X
xuzhihao 已提交
1326 1327 1328 1329
  let formIds: string[] = new Array('12400633174999288', '12400633174999289');
  formHost.deleteInvalidForms(formIds).then((data: number) => {
    console.log(`formHost deleteInvalidForms, data: ${JSON.stringify(data)}`);
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1330
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1331 1332
  });
} catch(error) {
M
mingxihua 已提交
1333
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350
}
```

## acquireFormState

acquireFormState(want: Want, callback: AsyncCallback<formInfo.FormStateInfo>): void

获取卡片状态。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Y
yangzk 已提交
1351 1352
| want | [Want](js-apis-application-want.md) | 是   | 查询卡片状态时携带的want信息。需要包含bundle名、ability名、module名、卡片名、卡片规格等。 |
| callback | AsyncCallback<[formInfo.FormStateInfo](js-apis-app-form-formInfo.md#formstateinfo)> | 是 | 回调函数。当获取卡片状态成功,error为undefined,data为获取到的卡片状态;否则为错误对象。 |
Y
yanwenhao 已提交
1353 1354 1355 1356 1357

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1358 1359 1360 1361 1362 1363 1364
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |
1365 1366

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1367 1368 1369

**示例:**

M
m00512953 已提交
1370
```ts
C
chenyuyan 已提交
1371
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1372 1373
import Want from '@ohos.app.ability.Want';
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1374
import Base from '@ohos.base';
C
chenyuyan 已提交
1375

X
xuzhihao 已提交
1376
let want: Want = {
M
mingxihua 已提交
1377 1378 1379 1380 1381 1382 1383
  'deviceId': '',
  'bundleName': 'ohos.samples.FormApplication',
  'abilityName': 'FormAbility',
  'parameters': {
    'ohos.extra.param.key.module_name': 'entry',
    'ohos.extra.param.key.form_name': 'widget',
    'ohos.extra.param.key.form_dimension': 2
Y
yanwenhao 已提交
1384 1385 1386
  }
};
try {
X
xuzhihao 已提交
1387
  formHost.acquireFormState(want, (error:Base.BusinessError, data: formInfo.FormStateInfo) => {
Y
yanwenhao 已提交
1388
    if (error) {
M
mingxihua 已提交
1389
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1390
    } else {
X
xuzhihao 已提交
1391
      console.log(`formHost acquireFormState, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1392 1393 1394
    }
  });
} catch(error) {
M
mingxihua 已提交
1395
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412
}
```

## acquireFormState

acquireFormState(want: Want): Promise<formInfo.FormStateInfo>

获取卡片状态。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Y
yangzk 已提交
1413
| want   | [Want](js-apis-application-want.md) | 是   | 查询卡片状态时携带的want信息。需要包含bundle名、ability名、module名、卡片名、卡片规格等。 |
Y
yanwenhao 已提交
1414 1415 1416 1417 1418

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
Y
yangzk 已提交
1419
| Promise<[formInfo.FormStateInfo](js-apis-app-form-formInfo.md#formstateinfo)> | Promise对象,返回卡片状态。 |
Y
yanwenhao 已提交
1420 1421 1422 1423 1424

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1425 1426 1427 1428 1429 1430 1431
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |
1432 1433

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1434 1435 1436

**示例:**

M
m00512953 已提交
1437
```ts
C
chenyuyan 已提交
1438
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1439 1440
import Want from '@ohos.app.ability.Want';
import formInfo from '@ohos.app.form.formInfo';
Y
yuyaozhi 已提交
1441
import Base from '@ohos.base';
C
chenyuyan 已提交
1442

X
xuzhihao 已提交
1443
let want: Want = {
M
mingxihua 已提交
1444 1445 1446 1447 1448 1449 1450
  'deviceId': '',
  'bundleName': 'ohos.samples.FormApplication',
  'abilityName': 'FormAbility',
  'parameters': {
    'ohos.extra.param.key.module_name': 'entry',
    'ohos.extra.param.key.form_name': 'widget',
    'ohos.extra.param.key.form_dimension': 2
Y
yanwenhao 已提交
1451 1452 1453
  }
};
try {
X
xuzhihao 已提交
1454 1455 1456
  formHost.acquireFormState(want).then((data: formInfo.FormStateInfo) => {
    console.log(`formHost acquireFormState, data: ${JSON.stringify(data)}`);
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1457
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1458 1459
  });
} catch(error) {
M
mingxihua 已提交
1460
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1461 1462 1463
}
```

M
mingxihua 已提交
1464
## on('formUninstall')
Y
yanwenhao 已提交
1465

M
mingxihua 已提交
1466
on(type: 'formUninstall', callback: Callback<string>): void
Y
yanwenhao 已提交
1467 1468 1469 1470 1471 1472 1473 1474 1475

订阅卡片卸载事件。使用callback异步回调。

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
M
mingxihua 已提交
1476
| type | string | 是   | 填写'formUninstall',表示卡片卸载事件。 |
Y
yanwenhao 已提交
1477 1478
| callback | Callback<string> | 是 | 回调函数。返回卡片标识。 |

1479 1480 1481 1482 1483 1484
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
1485 1486

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
1487

Y
yanwenhao 已提交
1488 1489
**示例:**

M
m00512953 已提交
1490
```ts
C
chenyuyan 已提交
1491 1492
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1493 1494 1495
formHost.on('formUninstall', (formId: string) => {
  console.log(`formHost on formUninstall, formId: ${formId}`);
});
Y
yanwenhao 已提交
1496 1497
```

M
mingxihua 已提交
1498
## off('formUninstall')
Y
yanwenhao 已提交
1499

M
mingxihua 已提交
1500
off(type: 'formUninstall', callback?: Callback<string>): void
Y
yanwenhao 已提交
1501 1502 1503 1504 1505 1506 1507 1508 1509

取消订阅卡片卸载事件。使用callback异步回调。

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
M
mingxihua 已提交
1510 1511
| type | string | 是   | 填写'formUninstall',表示卡片卸载事件。 |
| callback | Callback&lt;string&gt; | 否 | 回调函数。返回卡片标识。缺省时,表示注销所有已注册事件回调。<br> 需与对应on('formUninstall')的callback一致。|
Y
yanwenhao 已提交
1512

1513 1514 1515 1516 1517 1518
**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
1519 1520

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
1521

Y
yanwenhao 已提交
1522 1523
**示例:**

M
m00512953 已提交
1524
```ts
C
chenyuyan 已提交
1525 1526
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1527 1528 1529
formHost.off('formUninstall', (formId: string) => {
  console.log(`formHost on formUninstall, formId: ${formId}`);
});
Y
yanwenhao 已提交
1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547
```

## notifyFormsVisible

notifyFormsVisible(formIds: Array&lt;string&gt;, isVisible: boolean, callback: AsyncCallback&lt;void&gt;): void

通知卡片是否可见。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是   | 卡片标识列表。 |
| isVisible | boolean | 是   | 是否可见。 |
Y
yangzk 已提交
1548
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当通知卡片是否可见成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
1549 1550 1551 1552 1553

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1554 1555 1556 1557 1558 1559 1560
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501003 | The form can not be operated by the current application. |
1561 1562

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1563 1564 1565

**示例:**

M
m00512953 已提交
1566
```ts
C
chenyuyan 已提交
1567
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1568
import Base from '@ohos.base';
C
chenyuyan 已提交
1569

X
xuzhihao 已提交
1570
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1571
try {
X
xuzhihao 已提交
1572
  formHost.notifyFormsVisible(formIds, true, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
1573
    if (error) {
M
mingxihua 已提交
1574
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1575 1576 1577
    }
  });
} catch(error) {
M
mingxihua 已提交
1578
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608
}
```

## notifyFormsVisible

notifyFormsVisible(formIds: Array&lt;string&gt;, isVisible: boolean): Promise&lt;void&gt;

通知卡片是否可见。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是   | 卡片标识列表。 |
| isVisible | boolean | 是   | 是否可见。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1609 1610 1611 1612 1613 1614 1615
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501003 | The form can not be operated by the current application. |
1616 1617

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1618 1619 1620

**示例:**

M
m00512953 已提交
1621
```ts
C
chenyuyan 已提交
1622
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1623
import Base from '@ohos.base';
C
chenyuyan 已提交
1624

X
xuzhihao 已提交
1625
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1626 1627 1628
try {
  formHost.notifyFormsVisible(formIds, true).then(() => {
    console.log('formHost notifyFormsVisible success');
X
xuzhihao 已提交
1629
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1630
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1631 1632
  });
} catch(error) {
M
mingxihua 已提交
1633
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652
}
```

## notifyFormsEnableUpdate

notifyFormsEnableUpdate(formIds: Array&lt;string&gt;, isEnableUpdate: boolean, callback: AsyncCallback&lt;void&gt;): void

通知卡片是否启用更新状态。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是   | 卡片标识列表。 |
| isEnableUpdate | boolean | 是   | 是否使能更新。 |
Y
yangzk 已提交
1653
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当通知卡片是否启用更新状态成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
1654 1655 1656 1657 1658

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1659 1660 1661 1662 1663 1664 1665
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501003 | The form can not be operated by the current application. |
1666 1667

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1668 1669 1670

**示例:**

M
m00512953 已提交
1671
```ts
C
chenyuyan 已提交
1672
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1673
import Base from '@ohos.base';
C
chenyuyan 已提交
1674

X
xuzhihao 已提交
1675
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1676
try {
X
xuzhihao 已提交
1677
  formHost.notifyFormsEnableUpdate(formIds, true, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
1678
    if (error) {
M
mingxihua 已提交
1679
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1680 1681 1682
    }
  });
} catch(error) {
M
mingxihua 已提交
1683
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713
}
```

## notifyFormsEnableUpdate

notifyFormsEnableUpdate(formIds: Array&lt;string&gt;, isEnableUpdate: boolean): Promise&lt;void&gt;

通知卡片是否启用更新状态。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formIds | Array&lt;string&gt; | 是   | 卡片标识列表。 |
| isEnableUpdate | boolean | 是   | 是否使能更新。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1714 1715 1716 1717 1718 1719 1720
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
| 16501003 | The form can not be operated by the current application. |
1721 1722

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1723 1724 1725

**示例:**

M
m00512953 已提交
1726
```ts
C
chenyuyan 已提交
1727
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1728
import Base from '@ohos.base';
C
chenyuyan 已提交
1729

X
xuzhihao 已提交
1730
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1731 1732 1733
try {
  formHost.notifyFormsEnableUpdate(formIds, true).then(() => {
    console.log('formHost notifyFormsEnableUpdate success');
X
xuzhihao 已提交
1734
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1735
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1736 1737
  });
} catch(error) {
M
mingxihua 已提交
1738
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1739 1740 1741 1742 1743 1744 1745 1746
}
```
## shareForm

shareForm(formId: string, deviceId: string, callback: AsyncCallback&lt;void&gt;): void

指定formId和远程设备Id进行卡片分享。使用callback异步回调。

D
fix  
donglin 已提交
1747
**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.DISTRIBUTED_DATASYNC
Y
yanwenhao 已提交
1748 1749 1750 1751 1752 1753 1754 1755 1756

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |
| deviceId | string | 是   | 远程设备标识。 |
Y
yangzk 已提交
1757
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当指定formId和远程设备Id进行卡片分享成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
1758 1759 1760 1761 1762

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1763 1764 1765 1766 1767 1768 1769
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
1770 1771

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1772 1773 1774

**示例:**

M
m00512953 已提交
1775
```ts
C
chenyuyan 已提交
1776
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1777
import Base from '@ohos.base';
C
chenyuyan 已提交
1778

X
xuzhihao 已提交
1779 1780
let formId: string = '12400633174999288';
let deviceId: string = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2';
Y
yanwenhao 已提交
1781
try {
X
xuzhihao 已提交
1782
  formHost.shareForm(formId, deviceId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
1783
    if (error) {
M
mingxihua 已提交
1784
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1785 1786 1787
    }
  });
} catch(error) {
M
mingxihua 已提交
1788
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1789 1790 1791 1792 1793 1794 1795 1796 1797
}
```

## shareForm

shareForm(formId: string, deviceId: string): Promise&lt;void&gt;

指定formId和远程设备Id进行卡片分享。使用Promise异步回调。

D
fix  
donglin 已提交
1798
**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.DISTRIBUTED_DATASYNC
Y
yanwenhao 已提交
1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |
| deviceId | string | 是   | 远程设备标识。 |

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1819 1820 1821 1822 1823 1824 1825
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16501000 | An internal functional error occurred. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501003 | The form can not be operated by the current application. |
1826 1827

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yanwenhao 已提交
1828

Y
yangzk 已提交
1829
**示例:**
Y
yanwenhao 已提交
1830

M
m00512953 已提交
1831
```ts
C
chenyuyan 已提交
1832
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1833
import Base from '@ohos.base';
C
chenyuyan 已提交
1834

X
xuzhihao 已提交
1835 1836
let formId: string = '12400633174999288';
let deviceId: string = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2';
Y
yanwenhao 已提交
1837 1838 1839
try {
  formHost.shareForm(formId, deviceId).then(() => {
    console.log('formHost shareForm success');
X
xuzhihao 已提交
1840
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1841
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1842 1843
  });
} catch(error) {
M
mingxihua 已提交
1844
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1845 1846 1847 1848 1849
}
```

## notifyFormsPrivacyProtected

D
fix  
donglin 已提交
1850
notifyFormsPrivacyProtected(formIds: Array\<string>, isProtected: boolean, callback: AsyncCallback\<void>): void
Y
yanwenhao 已提交
1851

Y
yangzk 已提交
1852 1853
通知指定卡片隐私保护状态改变。使用callback异步回调。

Y
yanwenhao 已提交
1854 1855 1856 1857 1858 1859 1860 1861
**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
Y
yangzk 已提交
1862 1863 1864 1865 1866 1867
| formIds | Array\<string\> | 是   | 需要修改隐私保护的卡片标识列表。 |
| isProtected | boolean | 是   | 是否进行隐私保护。 |
| callback | AsyncCallback\<void> | 是 | 回调函数。当指定卡片设置隐私保护属性成功,error为undefined,否则为错误对象。 |

**错误码:**

1868 1869 1870 1871 1872 1873 1874 1875
| 错误码ID | 错误信息 |
| -------- | -------- |
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
1876 1877

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yangzk 已提交
1878 1879

**示例:**
Y
yanwenhao 已提交
1880

M
m00512953 已提交
1881
```ts
C
chenyuyan 已提交
1882
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1883
import Base from '@ohos.base';
C
chenyuyan 已提交
1884

X
xuzhihao 已提交
1885
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yangzk 已提交
1886
try {
X
xuzhihao 已提交
1887
  formHost.notifyFormsPrivacyProtected(formIds, true, (error: Base.BusinessError) => {
Y
yangzk 已提交
1888
    if (error) {
M
mingxihua 已提交
1889
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yangzk 已提交
1890 1891 1892
    }
  });
} catch(error) {
M
mingxihua 已提交
1893
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yangzk 已提交
1894 1895 1896 1897 1898
}
```

## notifyFormsPrivacyProtected

1899
notifyFormsPrivacyProtected(formIds: Array\<string\>, isProtected: boolean): Promise\<void\>;
Y
yangzk 已提交
1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921

通知指定卡片隐私保护状态改变。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名      | 类型            | 必填 | 说明                             |
| ----------- | --------------- | ---- | -------------------------------- |
| formIds     | Array\<string\> | 是   | 需要修改隐私保护的卡片标识列表。 |
| isProtected | boolean         | 是   | 是否进行隐私保护。               |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**错误码:**

1922 1923 1924 1925 1926 1927 1928 1929
| 错误码ID | 错误信息 |
| -------- | -------- |
| 201 | Permissions denied. |
| 202 | The application is not a system application. |
| 401 | If the input parameter is not valid parameter. |
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16501000 | An internal functional error occurred. |
1930 1931

以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)
Y
yangzk 已提交
1932 1933

```ts
C
chenyuyan 已提交
1934
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
1935
import Base from '@ohos.base';
C
chenyuyan 已提交
1936

X
xuzhihao 已提交
1937
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1938 1939
try {
  formHost.notifyFormsPrivacyProtected(formIds, true).then(() => {
Y
yangzk 已提交
1940
    console.log('formHost notifyFormsPrivacyProtected success');
X
xuzhihao 已提交
1941
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1942
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1943 1944
  });
} catch(error) {
M
mingxihua 已提交
1945
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1946 1947
}
```
Y
yangzk 已提交
1948

W
wangkailong 已提交
1949 1950
## acquireFormData<sup>10+</sup>

1951
acquireFormData(formId: string, callback: AsyncCallback<{[key: string]: Object}>): void;
W
wangkailong 已提交
1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968

请求卡片提供方数据。使用callback异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名 | 类型    | 必填 | 说明    |
| ------ | ------ | ---- | ------- |
| formId | string | 是   | 卡片标识。 |

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yuyaozhi 已提交
1969 1970
| 201 | Permissions denied. |
| 401 | If the input parameter is not valid parameter. |
W
wangkailong 已提交
1971 1972 1973 1974 1975
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |

1976 1977
以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)

W
wangkailong 已提交
1978 1979 1980 1981 1982
**示例:**

```ts
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1983
let formId: string = '12400633174999288';
W
wangkailong 已提交
1984
try {
W
acquire  
wangkailong 已提交
1985
  formHost.acquireFormData(formId, (error, data) => {
W
wangkailong 已提交
1986 1987
    if (error) {
      console.error(`error, code: ${error.code}, message: ${error.message}`);
W
acquire  
wangkailong 已提交
1988
    } else {
X
xuzhihao 已提交
1989
      console.log(`formHost acquireFormData, data: ${JSON.stringify(data)}`);
W
wangkailong 已提交
1990 1991 1992 1993 1994 1995 1996 1997 1998
    }
  });
} catch(error) {
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
}
```

## acquireFormData<sup>10+</sup>

1999
acquireFormData(formId: string): Promise<{[key: string]: Object}>;
W
wangkailong 已提交
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016

请求卡片提供方数据。使用Promise异步回调。

**需要权限**:ohos.permission.REQUIRE_FORM

**系统能力**:SystemCapability.Ability.Form

**参数:**

| 参数名      | 类型            | 必填 | 说明                             |
| ----------- | --------------- | ---- | -------------------------------- |
| formId | string | 是   | 卡片标识。 |

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
W
acquire  
wangkailong 已提交
2017
| Promise<{[key: string]: Object}>| 以Promise方式返回接口运行结果及分享数据。 |
W
wangkailong 已提交
2018 2019 2020 2021 2022

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yuyaozhi 已提交
2023 2024
| 201 | Permissions denied. |
| 401 | If the input parameter is not valid parameter. |
W
wangkailong 已提交
2025 2026 2027 2028 2029
| 16500050 | An IPC connection error happened. |
| 16500060 | A service connection error happened, please try again later. |
| 16500100 | Failed to obtain the configuration information. |
| 16501000 | An internal functional error occurred. |

2030 2031
以上错误码的详细介绍请参见[卡片错误码](../errorcodes/errorcode-form.md)

W
wangkailong 已提交
2032 2033
```ts
import formHost from '@ohos.app.form.formHost';
Y
yuyaozhi 已提交
2034
import Base from '@ohos.base';
W
wangkailong 已提交
2035

X
xuzhihao 已提交
2036
let formId: string = '12400633174999288';
W
wangkailong 已提交
2037
try {
W
acquire  
wangkailong 已提交
2038 2039
  formHost.acquireFormData(formId).then((data) => {
    console.log('formHost acquireFormData success' + data);
X
xuzhihao 已提交
2040
  }).catch((error: Base.BusinessError) => {
W
wangkailong 已提交
2041 2042 2043 2044 2045 2046
    console.error(`error, code: ${error.code}, message: ${error.message}`);
  });
} catch(error) {
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
}
```