js-apis-app-form-formHost.md 65.1 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
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
14
import Base from '@ohos.base';
Y
yanwenhao 已提交
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
```

## deleteForm

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
38
| 201 | Permissions denied. |
39
| 202 | The application is not a system application. |
40 41 42 43 44 45
| 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. |
46 47

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

**示例:**

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

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 110
import formHost from '@ohos.app.form.formHost';

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

## releaseForm

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
144 145 146 147 148 149 150 151
| 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. |
152 153

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

**示例:**

M
m00512953 已提交
157
```ts
C
chenyuyan 已提交
158 159
import formHost from '@ohos.app.form.formHost';

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

## 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 | 错误信息 |
| -------- | -------- |
194 195 196 197 198 199 200 201
| 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. |
202 203

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

**示例:**

M
m00512953 已提交
207
```ts
C
chenyuyan 已提交
208 209
import formHost from '@ohos.app.form.formHost';

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

## releaseForm

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
249 250 251 252 253 254 255 256
| 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. |
257 258

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

**示例:**

M
m00512953 已提交
262
```ts
C
chenyuyan 已提交
263 264
import formHost from '@ohos.app.form.formHost';

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

## requestForm

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
298 299 300 301 302 303 304 305
| 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. |
306 307

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

**示例:**

M
m00512953 已提交
311
```ts
C
chenyuyan 已提交
312 313
import formHost from '@ohos.app.form.formHost';

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

## requestForm

requestForm(formId: string): Promise<void>

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
352 353 354 355 356 357 358 359
| 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. |
360 361

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

**示例:**

M
m00512953 已提交
365
```ts
C
chenyuyan 已提交
366 367
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
368
try {
X
xuzhihao 已提交
369
  let formId: string = '12400633174999288';
Y
yanwenhao 已提交
370 371
  formHost.requestForm(formId).then(() => {
    console.log('formHost requestForm success');
X
xuzhihao 已提交
372
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
373
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
374 375
  });
} catch(error) {
M
mingxihua 已提交
376
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
377 378 379 380
}

```

D
fix  
donglin 已提交
381
## castToNormalForm
Y
yanwenhao 已提交
382

D
fix  
donglin 已提交
383
castToNormalForm(formId: string, callback: AsyncCallback<void>): void
Y
yanwenhao 已提交
384 385 386 387 388 389 390 391 392 393 394 395

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
402 403 404 405 406 407 408 409
| 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. |
410 411

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

**示例:**

M
m00512953 已提交
415
```ts
C
chenyuyan 已提交
416 417
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
418
try {
X
xuzhihao 已提交
419 420
  let formId: string = '12400633174999288';
  formHost.castToNormalForm(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
421
    if (error) {
M
mingxihua 已提交
422
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
423 424 425
    }
  });
} catch(error) {
M
mingxihua 已提交
426
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
427 428 429
}
```

D
fix  
donglin 已提交
430
## castToNormalForm
Y
yanwenhao 已提交
431

D
fix  
donglin 已提交
432
castToNormalForm(formId: string): Promise<void>
Y
yanwenhao 已提交
433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
456 457 458 459 460 461 462 463
| 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. |
464 465

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

**示例:**

M
m00512953 已提交
469
```ts
C
chenyuyan 已提交
470 471
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
472
try {
X
xuzhihao 已提交
473
  let formId: string = '12400633174999288';
D
fix  
donglin 已提交
474
  formHost.castToNormalForm(formId).then(() => {
Y
yanwenhao 已提交
475
    console.log('formHost castTempForm success');
X
xuzhihao 已提交
476
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
477
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
478 479
  });
} catch(error) {
M
mingxihua 已提交
480
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
}
```

## notifyVisibleForms

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
505 506 507 508 509 510
| 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. |
511 512

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

**示例:**

M
m00512953 已提交
516
```ts
C
chenyuyan 已提交
517 518
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
519
try {
X
xuzhihao 已提交
520 521
  let formId: string[] = ['12400633174999288'];
  formHost.notifyVisibleForms(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
522
    if (error) {
M
mingxihua 已提交
523
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
524 525 526
    }
  });
} catch(error) {
M
mingxihua 已提交
527
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556
}
```

## notifyVisibleForms

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
557 558 559 560 561 562
| 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. |
563 564

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

**示例:**

M
m00512953 已提交
568
```ts
C
chenyuyan 已提交
569 570
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
571
try {
X
xuzhihao 已提交
572
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
573 574
  formHost.notifyVisibleForms(formId).then(() => {
    console.log('formHost notifyVisibleForms success');
X
xuzhihao 已提交
575
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
576
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
577 578
  });
} catch(error) {
M
mingxihua 已提交
579
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597
}
```

## notifyInvisibleForms

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
604 605 606 607 608 609
| 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. |
610 611

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

**示例:**

M
m00512953 已提交
615
```ts
C
chenyuyan 已提交
616 617
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
618
try {
X
xuzhihao 已提交
619 620
  let formId: string[] = ['12400633174999288'];
  formHost.notifyInvisibleForms(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
621
    if (error) {
M
mingxihua 已提交
622
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
623 624 625
    }
  });
} catch(error) {
M
mingxihua 已提交
626
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655
}
```

## notifyInvisibleForms

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
656 657 658 659 660 661
| 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. |
662 663

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

**示例:**

M
m00512953 已提交
667
```ts
C
chenyuyan 已提交
668 669
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
670
try {
X
xuzhihao 已提交
671
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
672 673
  formHost.notifyInvisibleForms(formId).then(() => {
    console.log('formHost notifyInvisibleForms success');
X
xuzhihao 已提交
674
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
675
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
676 677
  });
} catch(error) {
M
mingxihua 已提交
678
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696
}
```

## enableFormsUpdate

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
703 704 705 706 707 708 709
| 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. |
710 711

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

**示例:**

M
m00512953 已提交
715
```ts
C
chenyuyan 已提交
716 717
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
718
try {
X
xuzhihao 已提交
719 720
  let formId: string[] = ['12400633174999288'];
  formHost.enableFormsUpdate(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
721
    if (error) {
M
mingxihua 已提交
722
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
723 724 725
    }
  });
} catch(error) {
M
mingxihua 已提交
726
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755
}
```

## enableFormsUpdate

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
756 757 758 759 760 761 762
| 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. |
763 764

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

**示例:**

M
m00512953 已提交
768
```ts
C
chenyuyan 已提交
769 770
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
771
try {
X
xuzhihao 已提交
772
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
773 774
  formHost.enableFormsUpdate(formId).then(() => {
    console.log('formHost enableFormsUpdate success');
X
xuzhihao 已提交
775
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
776
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
777 778
  });
} catch(error) {
M
mingxihua 已提交
779
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797
}
```

## disableFormsUpdate

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
804 805 806 807 808 809 810 811
| 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. |
812 813

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

**示例:**

M
m00512953 已提交
817
```ts
C
chenyuyan 已提交
818 819
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
820
try {
X
xuzhihao 已提交
821 822
  let formId: string[] = ['12400633174999288'];
  formHost.disableFormsUpdate(formId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
823
    if (error) {
M
mingxihua 已提交
824
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
825 826 827
    }
  });
} catch(error) {
M
mingxihua 已提交
828
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857
}
```

## disableFormsUpdate

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

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
858 859 860 861 862 863 864 865
| 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. |
866 867

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

**示例:**

M
m00512953 已提交
871
```ts
C
chenyuyan 已提交
872 873
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
874
try {
X
xuzhihao 已提交
875
  let formId: string[] = ['12400633174999288'];
Y
yanwenhao 已提交
876 877
  formHost.disableFormsUpdate(formId).then(() => {
    console.log('formHost disableFormsUpdate success');
X
xuzhihao 已提交
878
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
879
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
880 881
  });
} catch(error) {
M
mingxihua 已提交
882
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
883 884 885 886 887 888 889 890 891 892 893 894 895 896 897
}
```

## isSystemReady

isSystemReady(callback: AsyncCallback<void>): void

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

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

**参数:**

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

900 901 902 903 904 905
**错误码:**

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

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

Y
yanwenhao 已提交
909 910
**示例:**

M
m00512953 已提交
911
```ts
C
chenyuyan 已提交
912 913
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
914
try {
X
xuzhihao 已提交
915
  formHost.isSystemReady((error: Base.BusinessError) => {
Y
yanwenhao 已提交
916
    if (error) {
M
mingxihua 已提交
917
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
918 919 920
    }
  });
} catch(error) {
M
mingxihua 已提交
921
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938
}
```

## isSystemReady

isSystemReady(): Promise<void>

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

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

**返回值:**

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

939 940 941 942 943
**错误码:**

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

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

Y
yanwenhao 已提交
947 948
**示例:**

M
m00512953 已提交
949
```ts
C
chenyuyan 已提交
950 951
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
952 953 954
try {
  formHost.isSystemReady().then(() => {
    console.log('formHost isSystemReady success');
X
xuzhihao 已提交
955
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
956
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
957 958
  });
} catch(error) {
M
mingxihua 已提交
959
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
960 961 962 963 964 965 966 967 968 969 970 971 972
}
```

## getAllFormsInfo

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

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

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

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

973 974 975 976 977 978 979 980 981 982
**错误码:**

| 错误码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. |
983 984

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

Y
yanwenhao 已提交
986 987 988 989
**参数:**

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

**示例:**

M
m00512953 已提交
994
```ts
C
chenyuyan 已提交
995
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
996
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
997

Y
yanwenhao 已提交
998
try {
X
xuzhihao 已提交
999
  formHost.getAllFormsInfo((error: Base.BusinessError, data: formInfo.FormInfo[]) => {
Y
yanwenhao 已提交
1000
    if (error) {
M
mingxihua 已提交
1001
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1002
    } else {
X
xuzhihao 已提交
1003
      console.log(`formHost getAllFormsInfo, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1004 1005 1006
    }
  });
} catch(error) {
M
mingxihua 已提交
1007
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020
}
```

## getAllFormsInfo

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

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

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

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

1021 1022 1023 1024 1025 1026 1027 1028 1029
**错误码:**

| 错误码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. |
1030 1031

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

Y
yanwenhao 已提交
1033 1034
**返回值:**

Y
yangzk 已提交
1035 1036 1037
| 类型                                                         | 说明                                |
| :----------------------------------------------------------- | :---------------------------------- |
| Promise<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | Promise对象,返回查询到的卡片信息。 |
Y
yanwenhao 已提交
1038 1039 1040

**示例:**

M
m00512953 已提交
1041
```ts
C
chenyuyan 已提交
1042
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1043
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
1044

Y
yanwenhao 已提交
1045
try {
X
xuzhihao 已提交
1046 1047 1048
  formHost.getAllFormsInfo().then((data: formInfo.FormInfo[]) => {
    console.log(`formHost getAllFormsInfo data: ${JSON.stringify(data)}`);
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1049
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1050 1051
  });
} catch(error) {
M
mingxihua 已提交
1052
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069
}
```

## getFormsInfo

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1077 1078 1079 1080 1081 1082 1083
| 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. |
1084 1085

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

**示例:**

M
m00512953 已提交
1089
```ts
C
chenyuyan 已提交
1090
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1091
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
1092

Y
yanwenhao 已提交
1093
try {
X
xuzhihao 已提交
1094
  formHost.getFormsInfo('com.example.ohos.formjsdemo', (error: Base.BusinessError, data: formInfo.FormInfo[]) => {
Y
yanwenhao 已提交
1095
    if (error) {
M
mingxihua 已提交
1096
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1097
    } else {
X
xuzhihao 已提交
1098
      console.log(`formHost getFormsInfo, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1099 1100 1101
    }
  });
} catch(error) {
M
mingxihua 已提交
1102
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
}
```

## getFormsInfo

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

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1128 1129 1130 1131 1132 1133 1134
| 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. |
1135 1136

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

**示例:**

M
m00512953 已提交
1140
```ts
C
chenyuyan 已提交
1141
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1142
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
1143

Y
yanwenhao 已提交
1144
try {
X
xuzhihao 已提交
1145
  formHost.getFormsInfo('com.example.ohos.formjsdemo', 'entry', (error: Base.BusinessError, data: formInfo.FormInfo[]) => {
Y
yanwenhao 已提交
1146
    if (error) {
M
mingxihua 已提交
1147
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1148
    } else {
M
mingxihua 已提交
1149
      console.log('formHost getFormsInfo, data: ${JSON.stringify(data)}');
Y
yanwenhao 已提交
1150 1151 1152
    }
  });
} catch(error) {
M
mingxihua 已提交
1153
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170
}
```

## getFormsInfo

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

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

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

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

**参数:**

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

**返回值:**

Y
yangzk 已提交
1176 1177 1178
| 类型                                                         | 说明                                |
| :----------------------------------------------------------- | :---------------------------------- |
| Promise<Array<[formInfo.FormInfo](js-apis-app-form-formInfo.md)>> | Promise对象,返回查询到的卡片信息。 |
Y
yanwenhao 已提交
1179 1180 1181 1182 1183

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1184 1185 1186 1187 1188 1189 1190
| 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. |
1191 1192

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

**示例:**

M
m00512953 已提交
1196
```ts
C
chenyuyan 已提交
1197
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1198
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
1199

Y
yanwenhao 已提交
1200
try {
X
xuzhihao 已提交
1201 1202 1203
  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 已提交
1204
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1205 1206
  });
} catch(error) {
M
mingxihua 已提交
1207
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225
}
```

## deleteInvalidForms

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

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

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

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

**参数:**

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

1228 1229 1230 1231 1232 1233 1234 1235 1236 1237
**错误码:**

| 错误码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. |
1238 1239

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

Y
yanwenhao 已提交
1241 1242
**示例:**

M
m00512953 已提交
1243
```ts
C
chenyuyan 已提交
1244 1245
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
1246
try {
X
xuzhihao 已提交
1247 1248
  let formIds: string[] = new Array('12400633174999288', '12400633174999289');
  formHost.deleteInvalidForms(formIds, (error: Base.BusinessError, data: number) => {
Y
yanwenhao 已提交
1249
    if (error) {
M
mingxihua 已提交
1250
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1251
    } else {
X
xuzhihao 已提交
1252
      console.log(`formHost deleteInvalidForms, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1253 1254 1255
    }
  });
} catch(error) {
M
mingxihua 已提交
1256
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281
}
```

## deleteInvalidForms

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

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

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

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

**参数:**

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

**返回值:**

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

1282 1283 1284 1285 1286 1287 1288 1289 1290 1291
**错误码:**

| 错误码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. |
1292 1293

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

Y
yanwenhao 已提交
1295 1296
**示例:**

M
m00512953 已提交
1297
```ts
C
chenyuyan 已提交
1298 1299
import formHost from '@ohos.app.form.formHost';

Y
yanwenhao 已提交
1300
try {
X
xuzhihao 已提交
1301 1302 1303 1304
  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 已提交
1305
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1306 1307
  });
} catch(error) {
M
mingxihua 已提交
1308
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
}
```

## 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 已提交
1326 1327
| 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 已提交
1328 1329 1330 1331 1332

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1333 1334 1335 1336 1337 1338 1339
| 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. |
1340 1341

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

**示例:**

M
m00512953 已提交
1345
```ts
C
chenyuyan 已提交
1346
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1347 1348
import Want from '@ohos.app.ability.Want';
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
1349

X
xuzhihao 已提交
1350
let want: Want = {
M
mingxihua 已提交
1351 1352 1353 1354 1355 1356 1357
  '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 已提交
1358 1359 1360
  }
};
try {
X
xuzhihao 已提交
1361
  formHost.acquireFormState(want, (error:Base.BusinessError, data: formInfo.FormStateInfo) => {
Y
yanwenhao 已提交
1362
    if (error) {
M
mingxihua 已提交
1363
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1364
    } else {
X
xuzhihao 已提交
1365
      console.log(`formHost acquireFormState, data: ${JSON.stringify(data)}`);
Y
yanwenhao 已提交
1366 1367 1368
    }
  });
} catch(error) {
M
mingxihua 已提交
1369
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386
}
```

## acquireFormState

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

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

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

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

**参数:**

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

**返回值:**

| 类型          | 说明                                |
| :------------ | :---------------------------------- |
Y
yangzk 已提交
1393
| Promise<[formInfo.FormStateInfo](js-apis-app-form-formInfo.md#formstateinfo)> | Promise对象,返回卡片状态。 |
Y
yanwenhao 已提交
1394 1395 1396 1397 1398

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1399 1400 1401 1402 1403 1404 1405
| 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. |
1406 1407

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

**示例:**

M
m00512953 已提交
1411
```ts
C
chenyuyan 已提交
1412
import formHost from '@ohos.app.form.formHost';
X
xuzhihao 已提交
1413 1414
import Want from '@ohos.app.ability.Want';
import formInfo from '@ohos.app.form.formInfo';
C
chenyuyan 已提交
1415

X
xuzhihao 已提交
1416
let want: Want = {
M
mingxihua 已提交
1417 1418 1419 1420 1421 1422 1423
  '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 已提交
1424 1425 1426
  }
};
try {
X
xuzhihao 已提交
1427 1428 1429
  formHost.acquireFormState(want).then((data: formInfo.FormStateInfo) => {
    console.log(`formHost acquireFormState, data: ${JSON.stringify(data)}`);
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1430
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1431 1432
  });
} catch(error) {
M
mingxihua 已提交
1433
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1434 1435 1436
}
```

M
mingxihua 已提交
1437
## on('formUninstall')
Y
yanwenhao 已提交
1438

M
mingxihua 已提交
1439
on(type: 'formUninstall', callback: Callback<string>): void
Y
yanwenhao 已提交
1440 1441 1442 1443 1444 1445 1446 1447 1448

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

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

**参数:**

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

1452 1453 1454 1455 1456 1457
**错误码:**

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

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

Y
yanwenhao 已提交
1461 1462
**示例:**

M
m00512953 已提交
1463
```ts
C
chenyuyan 已提交
1464 1465
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1466 1467 1468
formHost.on('formUninstall', (formId: string) => {
  console.log(`formHost on formUninstall, formId: ${formId}`);
});
Y
yanwenhao 已提交
1469 1470
```

M
mingxihua 已提交
1471
## off('formUninstall')
Y
yanwenhao 已提交
1472

M
mingxihua 已提交
1473
off(type: 'formUninstall', callback?: Callback<string>): void
Y
yanwenhao 已提交
1474 1475 1476 1477 1478 1479 1480 1481 1482

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

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

**参数:**

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

1486 1487 1488 1489 1490 1491
**错误码:**

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

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

Y
yanwenhao 已提交
1495 1496
**示例:**

M
m00512953 已提交
1497
```ts
C
chenyuyan 已提交
1498 1499
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1500 1501 1502
formHost.off('formUninstall', (formId: string) => {
  console.log(`formHost on formUninstall, formId: ${formId}`);
});
Y
yanwenhao 已提交
1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520
```

## 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 已提交
1521
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当通知卡片是否可见成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
1522 1523 1524 1525 1526

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1527 1528 1529 1530 1531 1532 1533
| 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. |
1534 1535

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

**示例:**

M
m00512953 已提交
1539
```ts
C
chenyuyan 已提交
1540 1541
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1542
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1543
try {
X
xuzhihao 已提交
1544
  formHost.notifyFormsVisible(formIds, true, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
1545
    if (error) {
M
mingxihua 已提交
1546
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1547 1548 1549
    }
  });
} catch(error) {
M
mingxihua 已提交
1550
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580
}
```

## 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 | 错误信息 |
| -------- | -------- |
1581 1582 1583 1584 1585 1586 1587
| 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. |
1588 1589

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

**示例:**

M
m00512953 已提交
1593
```ts
C
chenyuyan 已提交
1594 1595
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1596
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1597 1598 1599
try {
  formHost.notifyFormsVisible(formIds, true).then(() => {
    console.log('formHost notifyFormsVisible success');
X
xuzhihao 已提交
1600
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1601
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1602 1603
  });
} catch(error) {
M
mingxihua 已提交
1604
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623
}
```

## 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 已提交
1624
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当通知卡片是否启用更新状态成功,error为undefined,否则为错误对象。 |
Y
yanwenhao 已提交
1625 1626 1627 1628 1629

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1630 1631 1632 1633 1634 1635 1636
| 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. |
1637 1638

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

**示例:**

M
m00512953 已提交
1642
```ts
C
chenyuyan 已提交
1643 1644
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1645
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1646
try {
X
xuzhihao 已提交
1647
  formHost.notifyFormsEnableUpdate(formIds, true, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
1648
    if (error) {
M
mingxihua 已提交
1649
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1650 1651 1652
    }
  });
} catch(error) {
M
mingxihua 已提交
1653
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683
}
```

## 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 | 错误信息 |
| -------- | -------- |
1684 1685 1686 1687 1688 1689 1690
| 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. |
1691 1692

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

**示例:**

M
m00512953 已提交
1696
```ts
C
chenyuyan 已提交
1697 1698
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1699
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1700 1701 1702
try {
  formHost.notifyFormsEnableUpdate(formIds, true).then(() => {
    console.log('formHost notifyFormsEnableUpdate success');
X
xuzhihao 已提交
1703
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1704
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1705 1706
  });
} catch(error) {
M
mingxihua 已提交
1707
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1708 1709 1710 1711 1712 1713 1714 1715
}
```
## shareForm

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

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

D
fix  
donglin 已提交
1716
**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.DISTRIBUTED_DATASYNC
Y
yanwenhao 已提交
1717 1718 1719 1720 1721 1722 1723 1724 1725

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1732 1733 1734 1735 1736 1737 1738
| 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. |
1739 1740

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

**示例:**

M
m00512953 已提交
1744
```ts
C
chenyuyan 已提交
1745 1746
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1747 1748
let formId: string = '12400633174999288';
let deviceId: string = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2';
Y
yanwenhao 已提交
1749
try {
X
xuzhihao 已提交
1750
  formHost.shareForm(formId, deviceId, (error: Base.BusinessError) => {
Y
yanwenhao 已提交
1751
    if (error) {
M
mingxihua 已提交
1752
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1753 1754 1755
    }
  });
} catch(error) {
M
mingxihua 已提交
1756
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1757 1758 1759 1760 1761 1762 1763 1764 1765
}
```

## shareForm

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

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

D
fix  
donglin 已提交
1766
**需要权限**:ohos.permission.REQUIRE_FORM 和 ohos.permission.DISTRIBUTED_DATASYNC
Y
yanwenhao 已提交
1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786

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

**参数:**

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

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
1787 1788 1789 1790 1791 1792 1793
| 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. |
1794 1795

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

Y
yangzk 已提交
1797
**示例:**
Y
yanwenhao 已提交
1798

M
m00512953 已提交
1799
```ts
C
chenyuyan 已提交
1800 1801
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1802 1803
let formId: string = '12400633174999288';
let deviceId: string = 'EFC11C0C53628D8CC2F8CB5052477E130D075917034613B9884C55CD22B3DEF2';
Y
yanwenhao 已提交
1804 1805 1806
try {
  formHost.shareForm(formId, deviceId).then(() => {
    console.log('formHost shareForm success');
X
xuzhihao 已提交
1807
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1808
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1809 1810
  });
} catch(error) {
M
mingxihua 已提交
1811
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1812 1813 1814 1815 1816
}
```

## notifyFormsPrivacyProtected

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

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

Y
yanwenhao 已提交
1821 1822 1823 1824 1825 1826 1827 1828
**需要权限**:ohos.permission.REQUIRE_FORM

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

**参数:**

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

**错误码:**

1835 1836 1837 1838 1839 1840 1841 1842
| 错误码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. |
1843 1844

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

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

M
m00512953 已提交
1848
```ts
C
chenyuyan 已提交
1849 1850
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1851
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yangzk 已提交
1852
try {
X
xuzhihao 已提交
1853
  formHost.notifyFormsPrivacyProtected(formIds, true, (error: Base.BusinessError) => {
Y
yangzk 已提交
1854
    if (error) {
M
mingxihua 已提交
1855
      console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yangzk 已提交
1856 1857 1858
    }
  });
} catch(error) {
M
mingxihua 已提交
1859
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yangzk 已提交
1860 1861 1862 1863 1864
}
```

## notifyFormsPrivacyProtected

1865
notifyFormsPrivacyProtected(formIds: Array\<string\>, isProtected: boolean): Promise\<void\>;
Y
yangzk 已提交
1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

1888 1889 1890 1891 1892 1893 1894 1895
| 错误码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. |
1896 1897

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

```ts
C
chenyuyan 已提交
1900 1901
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
1902
let formIds: string[] = new Array('12400633174999288', '12400633174999289');
Y
yanwenhao 已提交
1903 1904
try {
  formHost.notifyFormsPrivacyProtected(formIds, true).then(() => {
Y
yangzk 已提交
1905
    console.log('formHost notifyFormsPrivacyProtected success');
X
xuzhihao 已提交
1906
  }).catch((error: Base.BusinessError) => {
M
mingxihua 已提交
1907
    console.error(`error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1908 1909
  });
} catch(error) {
M
mingxihua 已提交
1910
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
Y
yanwenhao 已提交
1911 1912
}
```
Y
yangzk 已提交
1913

W
wangkailong 已提交
1914 1915
## acquireFormData<sup>10+</sup>

1916
acquireFormData(formId: string, callback: AsyncCallback<{[key: string]: Object}>): void;
W
wangkailong 已提交
1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933

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

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

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

**参数:**

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

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yuyaozhi 已提交
1934 1935
| 201 | Permissions denied. |
| 401 | If the input parameter is not valid parameter. |
W
wangkailong 已提交
1936 1937 1938 1939 1940
| 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. |

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

W
wangkailong 已提交
1943 1944 1945 1946 1947
**示例:**

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

X
xuzhihao 已提交
1948
let formId: string = '12400633174999288';
W
wangkailong 已提交
1949
try {
W
acquire  
wangkailong 已提交
1950
  formHost.acquireFormData(formId, (error, data) => {
W
wangkailong 已提交
1951 1952
    if (error) {
      console.error(`error, code: ${error.code}, message: ${error.message}`);
W
acquire  
wangkailong 已提交
1953
    } else {
X
xuzhihao 已提交
1954
      console.log(`formHost acquireFormData, data: ${JSON.stringify(data)}`);
W
wangkailong 已提交
1955 1956 1957 1958 1959 1960 1961 1962 1963
    }
  });
} catch(error) {
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
}
```

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

1964
acquireFormData(formId: string): Promise<{[key: string]: Object}>;
W
wangkailong 已提交
1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981

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

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

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

**参数:**

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

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
W
acquire  
wangkailong 已提交
1982
| Promise<{[key: string]: Object}>| 以Promise方式返回接口运行结果及分享数据。 |
W
wangkailong 已提交
1983 1984 1985 1986 1987

**错误码:**

| 错误码ID | 错误信息 |
| -------- | -------- |
Y
yuyaozhi 已提交
1988 1989
| 201 | Permissions denied. |
| 401 | If the input parameter is not valid parameter. |
W
wangkailong 已提交
1990 1991 1992 1993 1994
| 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. |

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

W
wangkailong 已提交
1997 1998 1999
```ts
import formHost from '@ohos.app.form.formHost';

X
xuzhihao 已提交
2000
let formId: string = '12400633174999288';
W
wangkailong 已提交
2001
try {
W
acquire  
wangkailong 已提交
2002 2003
  formHost.acquireFormData(formId).then((data) => {
    console.log('formHost acquireFormData success' + data);
X
xuzhihao 已提交
2004
  }).catch((error: Base.BusinessError) => {
W
wangkailong 已提交
2005 2006 2007 2008 2009 2010
    console.error(`error, code: ${error.code}, message: ${error.message}`);
  });
} catch(error) {
  console.error(`catch error, code: ${error.code}, message: ${error.message}`);
}
```