js-apis-contact.md 75.6 KB
Newer Older
O
ohos-lsw 已提交
1 2
# 联系人

T
explain  
tianyu 已提交
3 4
本模块提供联系人管理能力,包括添加联系人、删除联系人、更新联系人等

O
ohos-lsw 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
>**说明:**
>
>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

```
import contact from '@ohos.contact';
```

## contact.addContact

addContact(contact:Contact, callback:AsyncCallback<number>): void

添加联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
27

H
update  
HelloCrease 已提交
28 29 30 31
| 参数名   | 类型                        | 必填 | 说明                           |
| -------- | --------------------------- | ---- | ------------------------------ |
| contact  | [Contact](#contact)         | 是   | 联系人信息。                   |
| callback | AsyncCallback<number> | 是   | 回调函数,返回添加的联系人id。 |
O
ohos-lsw 已提交
32 33 34

**示例:**

Z
zengyawen 已提交
35
  ```js
O
ohos-lsw 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
  contact.addContact({
      fullName: {fullName: 'xxx'},
      phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
  }, (err, data) => {
      if (err) {
          console.log(`addContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`addContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.addContact

addContact(contact: Contact): Promise<number>

添加联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
60

H
update  
HelloCrease 已提交
61 62 63
| 参数名  | 类型                | 必填 | 说明         |
| ------- | ------------------- | ---- | ------------ |
| contact | [Contact](#contact) | 是   | 联系人信息。 |
O
ohos-lsw 已提交
64 65

**返回值:**
66

H
update  
HelloCrease 已提交
67 68
| 类型                  | 说明                                        |
| --------------------- | ------------------------------------------- |
O
ohos-lsw 已提交
69 70 71 72
| Promise<number> | 以Promise形式返回结果,返回添加的联系人id。 |

**示例:**

Z
zengyawen 已提交
73
  ```js
O
ohos-lsw 已提交
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
  let promise = contact.addContact({
      name: {fullName: 'xxx'},
      phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
  });
  promise.then((data) => {
      console.log(`addContact success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`addContact fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.deleteContact

deleteContact(key: string, callback: AsyncCallback<void>): void

删除联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
97

H
update  
HelloCrease 已提交
98 99 100 101
| 参数名   | 类型                      | 必填 | 说明                                 |
| -------- | ------------------------- | ---- | ------------------------------------ |
| key      | string                    | 是   | 联系人key值,一个联系人对应一个key。 |
| callback | AsyncCallback<void> | 是   | 回调函数,返回删除联系人的结果。     |
O
ohos-lsw 已提交
102 103 104

**示例:**

Z
zengyawen 已提交
105
  ```js
O
ohos-lsw 已提交
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
  contact.deleteContact('xxx', (err) => {
      if (err) {
          console.log(`deleteContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log('deleteContact success');
  });
  ```


## contact.deleteContact

deleteContact(key: string): Promise<void>

删除联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
127

H
update  
HelloCrease 已提交
128 129 130
| 参数名 | 类型   | 必填 | 说明                                   |
| ------ | ------ | ---- | -------------------------------------- |
| key    | string | 是   | 联系人的key值,一个联系人对应一个key。 |
O
ohos-lsw 已提交
131 132

**返回值:**
133

H
update  
HelloCrease 已提交
134 135
| 类型                | 说明                                          |
| ------------------- | --------------------------------------------- |
O
ohos-lsw 已提交
136 137 138 139
| Promise<void> | 以Promise形式返回结果,返回删除联系人的结果。 |

**示例:**

Z
zengyawen 已提交
140
  ```js
O
ohos-lsw 已提交
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
  let promise = contact.deleteContact('xxx');
  promise.then(() => {
      console.log(`deleteContact success`);
  }).catch((err) => {
      console.error(`deleteContact fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.updateContact

updateContact(contact: Contact, callback: AsyncCallback<void>): void

更新联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
161

H
update  
HelloCrease 已提交
162 163 164 165
| 参数名   | 类型                      | 必填 | 说明                                 |
| -------- | ------------------------- | ---- | ------------------------------------ |
| contact  | [Contact](#contact)       | 是   | 联系人信息。                         |
| callback | AsyncCallback<void> | 是   | 回调函数,返回更新联系人的更新结果。 |
O
ohos-lsw 已提交
166 167 168

**示例:**

Z
zengyawen 已提交
169
  ```js
O
ohos-lsw 已提交
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
  contact.updateContact({
      name: {fullName: 'xxx'},
      phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
  }, (err) => {
      if (err) {
          console.log('updateContact callback: err->${JSON.stringify(err)}');
          return;
      }
      console.log('updateContact success');
  });
  ```


## contact.updateContact

updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void

更新联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
194

H
update  
HelloCrease 已提交
195 196 197 198 199
| 参数名   | 类型                                    | 必填 | 说明                                 |
| -------- | --------------------------------------- | ---- | ------------------------------------ |
| contact  | [Contact](#contact)                     | 是   | 联系人信息。                         |
| attrs    | [ContactAttributes](#contactattributes) | 是   | 联系人的属性列表。                   |
| callback | AsyncCallback<void>               | 是   | 回调函数,返回更新联系人的更新结果。 |
O
ohos-lsw 已提交
200 201 202

**示例:**

Z
zengyawen 已提交
203
  ```js
O
ohos-lsw 已提交
204 205 206 207
  contact.updateContact({
      fullName: {fullName: 'xxx'},
      phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
  },{
Q
qian-nan-xu 已提交
208
      attributes:[contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
  }, (err) => {
      if (err) {
          console.log('updateContact callback: err->${JSON.stringify(err)}');
          return;
      }
      console.log('updateContact success');
  });
  ```


## contact.updateContact

updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void>

更新联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
230

H
update  
HelloCrease 已提交
231 232 233 234
| 参数名  | 类型                                    | 必填 | 说明               |
| ------- | --------------------------------------- | ---- | ------------------ |
| contact | [Contact](#contact)                     | 是   | 联系人信息。       |
| attrs   | [ContactAttributes](#contactattributes) | 否   | 联系人的属性列表。 |
O
ohos-lsw 已提交
235 236

**返回值:**
H
update  
HelloCrease 已提交
237 238
| 类型                | 说明                                              |
| ------------------- | ------------------------------------------------- |
O
ohos-lsw 已提交
239 240 241 242
| Promise<void> | 以Promise形式返回结果,返回更新联系人的更新结果。 |

**示例:**

Z
zengyawen 已提交
243
  ```js
O
ohos-lsw 已提交
244 245 246 247
  let promise = contact.updateContact({
      fullName: {fullName: 'xxx'},
      phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
  }, {
Q
qian-nan-xu 已提交
248
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268
  });
  promise.then(() => {
      console.log('updateContact success');
  }).catch((err) => {
      console.error(`updateContact fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.isLocalContact

isLocalContact(id: number, callback: AsyncCallback<boolean>): void

判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
269

H
update  
HelloCrease 已提交
270 271 272 273
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| id       | number                       | 是   | 联系人对象的id属性,一个联系人对应一个id。                   |
| callback | AsyncCallback<boolean> | 是   | 回调函数,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 |
O
ohos-lsw 已提交
274 275 276

**示例:**

Z
zengyawen 已提交
277
  ```js
O
ohos-lsw 已提交
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
  contact.isLocalContact(/*id*/1, (err, data) => {
      if (err) {
          console.log(`isLocalContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`isLocalContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.isLocalContact

isLocalContact(id: number): Promise<boolean>

判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
299

H
update  
HelloCrease 已提交
300 301 302
| 参数名 | 类型   | 必填 | 说明                                       |
| ------ | ------ | ---- | ------------------------------------------ |
| id     | number | 是   | 联系人对象的id属性,一个联系人对应一个id。 |
O
ohos-lsw 已提交
303 304

**返回值:**
305

H
update  
HelloCrease 已提交
306 307
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
O
ohos-lsw 已提交
308 309 310 311
| Promise<boolean> | 以Promise形式返回结果,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 |

**示例:**

Z
zengyawen 已提交
312
  ```js
O
ohos-lsw 已提交
313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
  let promise = contact.isLocalContact(/*id*/1);
  promise.then((data) => {
      console.log(`isLocalContact success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`isLocalContact fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.isMyCard

isMyCard(id: number, callback: AsyncCallback<boolean>): void

判断是否为“我的名片”,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
333

H
update  
HelloCrease 已提交
334 335 336 337
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| id       | number                       | 是   | 联系人对象的id属性。                                         |
| callback | AsyncCallback<boolean> | 是   | 回调函数,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 |
O
ohos-lsw 已提交
338 339 340

**示例:**

Z
zengyawen 已提交
341
  ```js
O
ohos-lsw 已提交
342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362
  contact.isMyCard(/*id*/1, (err, data) => {
      if (err) {
          console.log(`isMyCard callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`isMyCard callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.isMyCard

isMyCard(id: number): Promise<boolean>

判断是否为“我的名片”,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
363

H
update  
HelloCrease 已提交
364 365 366
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| id     | number | 是   | 联系人对象的id属性。 |
O
ohos-lsw 已提交
367 368

**返回值:**
369

H
update  
HelloCrease 已提交
370 371
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
O
ohos-lsw 已提交
372 373 374 375
| Promise<boolean> | 以Promise形式返回结果,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 |

**示例:**

Z
zengyawen 已提交
376
  ```js
O
ohos-lsw 已提交
377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396
  let promise = contact.isMyCard(/*id*/1);
  promise.then((data) => {
      console.log(`isMyCard success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`isMyCard fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryMyCard

queryMyCard(callback: AsyncCallback<Contact>): void

查询“我的名片”,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
397

H
update  
HelloCrease 已提交
398 399 400
| 参数名   | 类型                                     | 必填 | 说明                           |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
| callback | AsyncCallback<[Contact](#contact)> | 是   | 回调函数,返回“我的名片”信息。 |
O
ohos-lsw 已提交
401 402 403

**示例:**

Z
zengyawen 已提交
404
  ```js
O
ohos-lsw 已提交
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425
  contact.queryMyCard((err, data) => {
      if (err) {
          console.log(`queryMyCard callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryMyCard

queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): void

查询“我的名片”,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
426

H
update  
HelloCrease 已提交
427 428 429 430
| 参数名   | 类型                                     | 必填 | 说明                           |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
| attrs    | [ContactAttributes](#contactattributes)  | 是   | 联系人的属性列表。             |
| callback | AsyncCallback<[Contact](#contact)> | 是   | 回调函数,返回“我的名片”信息。 |
O
ohos-lsw 已提交
431 432 433

**示例:**

Z
zengyawen 已提交
434
  ```js
O
ohos-lsw 已提交
435
  contact.queryMyCard({
Q
qian-nan-xu 已提交
436
      attributes:[contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457
  }, (err, data) => {
      if (err) {
          console.log(`queryMyCard callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryMyCard

queryMyCard(attrs?: ContactAttributes): Promise<Contact>

查询“我的名片”,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
458

H
update  
HelloCrease 已提交
459 460 461
| 参数名 | 类型                                    | 必填 | 说明               |
| ------ | --------------------------------------- | ---- | ------------------ |
| attrs  | [ContactAttributes](#contactattributes) | 否   | 联系人的属性列表。 |
O
ohos-lsw 已提交
462 463

**返回值:**
H
update  
HelloCrease 已提交
464 465
| 类型                               | 说明                                        |
| ---------------------------------- | ------------------------------------------- |
O
ohos-lsw 已提交
466 467 468 469
| Promise<[Contact](#contact)> | 以Promise形式返回结果,返回“我的名片”信息。 |

**示例:**

Z
zengyawen 已提交
470
  ```js
O
ohos-lsw 已提交
471
  let promise = contact.queryMyCard({
Q
qian-nan-xu 已提交
472
      attributes:[contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
473 474 475 476 477 478 479 480 481
  });
  promise.then((data) => {
      console.log(`queryMyCard success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryMyCard fail: err->${JSON.stringify(err)}`);
  });
  ```


H
update  
HelloCrease 已提交
482
## contact.selectContact
O
ohos-lsw 已提交
483

Z
zengyawen 已提交
484
selectContact(callback: AsyncCallback<Array<Contact>>): void
O
ohos-lsw 已提交
485 486 487 488 489 490 491 492

选择联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.Contacts、SystemCapability.Applications.ContactsData

**参数:**
493

H
update  
HelloCrease 已提交
494 495 496
| 参数名   | 类型                                                  | 必填 | 说明                                 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回选择的联系人对象数组。 |
O
ohos-lsw 已提交
497 498 499

**示例:**

Z
zengyawen 已提交
500
  ```js
O
ohos-lsw 已提交
501 502 503 504 505 506 507 508 509 510
  contact.selectContact((err, data) => {
      if (err) {
          console.log(`selectContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`selectContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


H
update  
HelloCrease 已提交
511
## contact.selectContact
O
ohos-lsw 已提交
512 513 514 515 516 517 518 519 520 521

selectContact(): Promise<Array<Contact>>

选择联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.Contacts、SystemCapability.Applications.ContactsData

**返回值:**
522

H
update  
HelloCrease 已提交
523 524
| 类型                                            | 说明                                              |
| ----------------------------------------------- | ------------------------------------------------- |
O
ohos-lsw 已提交
525 526 527 528
| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回选择的联系人对象数组。 |

**示例:**

Z
zengyawen 已提交
529
  ```js
O
ohos-lsw 已提交
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
  let promise = contact.selectContact();
  promise.then((data) => {
      console.log(`selectContact success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`selectContact fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryContact

queryContact(key: string,  callback: AsyncCallback<Contact>): void

根据key查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
550

H
update  
HelloCrease 已提交
551 552 553 554
| 参数名   | 类型                                     | 必填 | 说明                                   |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key      | string                                   | 是   | 联系人的key值,一个联系人对应一个key。 |
| callback | AsyncCallback<[Contact](#contact)> | 是   | 回调函数,返回查询的联系人对象。       |
O
ohos-lsw 已提交
555 556 557

**示例:**

Z
zengyawen 已提交
558
  ```js
O
ohos-lsw 已提交
559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579
  contact.queryContact('xxx', (err, data) => {
      if (err) {
          console.log(`queryContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContact

queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void

根据key查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
580

H
update  
HelloCrease 已提交
581 582 583 584 585
| 参数名   | 类型                                     | 必填 | 说明                                   |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key      | string                                   | 是   | 联系人的key值,一个联系人对应一个key。 |
| holder   | [Holder](#holder)                        | 是   | 创建联系人的应用信息。                 |
| callback | AsyncCallback<[Contact](#contact)> | 是   | 回调函数,返回查询的联系人对象。       |
O
ohos-lsw 已提交
586 587 588

**示例:**

Z
zengyawen 已提交
589
  ```js
O
ohos-lsw 已提交
590
  contact.queryContact('xxx', {
Q
qian-nan-xu 已提交
591 592 593
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614
  }, (err, data) => {
      if (err) {
          console.log(`queryContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContact

queryContact(key: string,  attrs: ContactAttributes, callback: AsyncCallback<Contact>): void

根据key查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
615

H
update  
HelloCrease 已提交
616 617 618 619 620
| 参数名   | 类型                                     | 必填 | 说明                                   |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key      | string                                   | 是   | 联系人的key值,一个联系人对应一个key。 |
| attrs    | [ContactAttributes](#contactattributes)  | 是   | 联系人的属性列表。                     |
| callback | AsyncCallback<[Contact](#contact)> | 是   | 回调函数,返回查询的联系人对象。       |
O
ohos-lsw 已提交
621 622 623

**示例:**

Z
zengyawen 已提交
624
  ```js
O
ohos-lsw 已提交
625
  contact.queryContact('xxx', {
Q
qian-nan-xu 已提交
626
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647
  }, (err, data) => {
      if (err) {
          console.log(`queryContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContact

queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void

根据key查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
648

H
update  
HelloCrease 已提交
649 650 651 652 653 654
| 参数名   | 类型                                     | 必填 | 说明                                   |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key      | string                                   | 是   | 联系人的key值,一个联系人对应一个key。 |
| holder   | [Holder](#holder)                        | 是   | 创建联系人的应用信息。                 |
| attrs    | [ContactAttributes](#contactattributes)  | 是   | 联系人的属性列表。                     |
| callback | AsyncCallback<[Contact](#contact)> | 是   | 回调函数,返回查询的联系人对象。       |
O
ohos-lsw 已提交
655 656 657

**示例:**

Z
zengyawen 已提交
658
  ```js
O
ohos-lsw 已提交
659
  contact.queryContact('xxx', {
Q
qian-nan-xu 已提交
660 661 662
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
663
  }, {
Q
qian-nan-xu 已提交
664
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685
  }, (err, data) => {
      if (err) {
          console.log(`queryContact callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContact

queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact>

根据key查询联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
686

H
update  
HelloCrease 已提交
687 688 689 690 691
| 参数名 | 类型                                    | 必填 | 说明                                   |
| ------ | --------------------------------------- | ---- | -------------------------------------- |
| key    | string                                  | 是   | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder)                       | 否   | 创建联系人的应用信息。                 |
| attrs  | [ContactAttributes](#contactattributes) | 否   | 联系人的属性列表。                     |
O
ohos-lsw 已提交
692 693

**返回值:**
H
update  
HelloCrease 已提交
694 695
| 类型                               | 说明                                            |
| ---------------------------------- | ----------------------------------------------- |
O
ohos-lsw 已提交
696 697 698 699
| Promise<[Contact](#contact)> | 以Promise形式返回结果,返回查询到的联系人对象。 |

**示例:**

Z
zengyawen 已提交
700
  ```js
O
ohos-lsw 已提交
701
  let promise = contact.queryContact('xxx', {
Q
qian-nan-xu 已提交
702 703 704
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
705
  }, {
Q
qian-nan-xu 已提交
706
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726
  });
  promise.then((data) => {
      console.log(`queryContact success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryContact fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryContacts

queryContacts(callback: AsyncCallback<Array<Contact>>): void

查询所有联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
727

H
update  
HelloCrease 已提交
728 729 730
| 参数名   | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
731 732 733

**示例:**

Z
zengyawen 已提交
734
  ```js
O
ohos-lsw 已提交
735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755
  contact.queryContacts((err, data) => {
      if (err) {
          console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContacts

queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void

查询所有联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
756

H
update  
HelloCrease 已提交
757 758 759 760
| 参数名   | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| holder   | [Holder](#holder)                                     | 是   | 创建联系人的应用信息。                 |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
761 762 763

**示例:**

Z
zengyawen 已提交
764
  ```js
O
ohos-lsw 已提交
765
  contact.queryContacts({
Q
qian-nan-xu 已提交
766 767 768
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789
  }, (err, data) => {
      if (err) {
          console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContacts

queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void

查询所有联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
790

H
update  
HelloCrease 已提交
791 792 793 794
| 参数名   | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| attrs    | [ContactAttributes](#contactattributes)               | 是   | 联系人的属性列表。                     |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
795 796 797

**示例:**

Z
zengyawen 已提交
798
  ```js
O
ohos-lsw 已提交
799
  contact.queryContacts({
Q
qian-nan-xu 已提交
800
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
801 802 803 804 805 806 807 808 809 810 811 812
  }, (err, data) => {
      if (err) {
          console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContacts

C
clevercong 已提交
813
queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void
O
ohos-lsw 已提交
814 815 816 817 818 819 820 821

查询所有联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
822

H
update  
HelloCrease 已提交
823 824 825 826 827
| 参数名   | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| holder   | [Holder](#holder)                                     | 是   | 创建联系人的应用信息。                 |
| attrs    | [ContactAttributes](#contactattributes)               | 是   | 联系人的属性列表。                     |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
828 829 830

**示例:**

Z
zengyawen 已提交
831
  ```js
O
ohos-lsw 已提交
832
  contact.queryContacts({
Q
qian-nan-xu 已提交
833 834 835
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
836
  }, {
Q
qian-nan-xu 已提交
837
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858
  }, (err, data) => {
      if (err) {
          console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContacts

queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>

查询所有联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
859

H
update  
HelloCrease 已提交
860 861 862 863
| 参数名 | 类型                                    | 必填 | 说明                   |
| ------ | --------------------------------------- | ---- | ---------------------- |
| holder | [Holder](#holder)                       | 否   | 创建联系人的应用信息。 |
| attrs  | [ContactAttributes](#contactattributes) | 否   | 联系人的属性列表。     |
O
ohos-lsw 已提交
864 865

**返回值:**
H
update  
HelloCrease 已提交
866 867
| 类型                                            | 说明                                                |
| ----------------------------------------------- | --------------------------------------------------- |
O
ohos-lsw 已提交
868 869 870 871
| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 |

**示例:**

Z
zengyawen 已提交
872
  ```js
O
ohos-lsw 已提交
873
  let promise = contact.queryContacts({
Q
qian-nan-xu 已提交
874 875 876
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
877
  }, {
Q
qian-nan-xu 已提交
878
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898
  });
  promise.then((data) => {
      console.log(`queryContacts success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryContacts fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryContactsByPhoneNumber

queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void

根据电话号码查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
899

H
update  
HelloCrease 已提交
900 901 902 903
| 参数名      | 类型                                                  | 必填 | 说明                                   |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| phoneNumber | string                                                | 是   | 联系人的电话号码。                     |
| callback    | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
904 905 906

**示例:**

Z
zengyawen 已提交
907
  ```js
O
ohos-lsw 已提交
908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928
  contact.queryContactsByPhoneNumber('138xxxxxxxx', (err, data) => {
      if (err) {
          console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByPhoneNumber

queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void

根据电话号码查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
929

H
update  
HelloCrease 已提交
930 931 932 933 934
| 参数名      | 类型                                                  | 必填 | 说明                                   |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| phoneNumber | string                                                | 是   | 联系人的电话号码。                     |
| holder      | [Holder](#holder)                                     | 是   | 创建联系人的应用信息。                 |
| callback    | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
935 936 937

**示例:**

Z
zengyawen 已提交
938
  ```js
O
ohos-lsw 已提交
939
  contact.queryContactsByPhoneNumber('138xxxxxxxx', {
Q
qian-nan-xu 已提交
940 941 942
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963
  }, (err, data) => {
      if (err) {
          console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByPhoneNumber

queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void

根据电话号码查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
964

H
update  
HelloCrease 已提交
965 966 967 968 969
| 参数名      | 类型                                                  | 必填 | 说明                                   |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| phoneNumber | string                                                | 是   | 联系人的电话号码。                     |
| attrs       | [ContactAttributes](#contactattributes)               | 是   | 联系人的属性列表。                     |
| callback    | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
970 971 972

**示例:**

Z
zengyawen 已提交
973
  ```js
O
ohos-lsw 已提交
974
  contact.queryContactsByPhoneNumber('138xxxxxxxx', {
Q
qian-nan-xu 已提交
975
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996
  }, (err, data) => {
      if (err) {
          console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByPhoneNumber

queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void

根据电话号码查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
997

H
update  
HelloCrease 已提交
998 999 1000 1001 1002 1003
| 参数名      | 类型                                                  | 必填 | 说明                                   |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| phoneNumber | string                                                | 是   | 联系人的电话号码。                     |
| holder      | [Holder](#holder)                                     | 是   | 创建联系人的应用信息。                 |
| attrs       | [ContactAttributes](#contactattributes)               | 是   | 联系人的属性列表。                     |
| callback    | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
1004 1005 1006

**示例:**

Z
zengyawen 已提交
1007
  ```js
O
ohos-lsw 已提交
1008
  contact.queryContactsByPhoneNumber('138xxxxxxxx', {
Q
qian-nan-xu 已提交
1009 1010 1011
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1012
  }, {
Q
qian-nan-xu 已提交
1013
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034
  }, (err, data) => {
      if (err) {
          console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByPhoneNumber

queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>

根据电话号码查询联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1035

H
update  
HelloCrease 已提交
1036 1037 1038 1039 1040
| 参数名      | 类型                                    | 必填 | 说明                   |
| ----------- | --------------------------------------- | ---- | ---------------------- |
| phoneNumber | string                                  | 是   | 联系人的电话号码。     |
| holder      | [Holder](#holder)                       | 否   | 创建联系人的应用信息。 |
| attrs       | [ContactAttributes](#contactattributes) | 否   | 联系人的属性列表。     |
O
ohos-lsw 已提交
1041 1042

**返回值:**
1043

H
update  
HelloCrease 已提交
1044 1045
| 类型                                            | 说明                                                |
| ----------------------------------------------- | --------------------------------------------------- |
O
ohos-lsw 已提交
1046 1047 1048 1049
| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 |

**示例:**

Z
zengyawen 已提交
1050
  ```js
O
ohos-lsw 已提交
1051
  let promise = contact.queryContactsByPhoneNumber('138xxxxxxxx', {
Q
qian-nan-xu 已提交
1052 1053 1054
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1055
  }, {
Q
qian-nan-xu 已提交
1056
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
  });
  promise.then((data) => {
      console.log(`queryContactsByPhoneNumber success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryContactsByPhoneNumber fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryContactsByEmail

queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact>>): void

根据email查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1077

H
update  
HelloCrease 已提交
1078 1079 1080 1081
| 参数名   | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| email    | string                                                | 是   | 联系人的邮箱地址。                     |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
1082 1083 1084

**示例:**

Z
zengyawen 已提交
1085
  ```js
O
ohos-lsw 已提交
1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106
  contact.queryContactsByEmail('xxx@email.com', (err, data) => {
      if (err) {
          console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByEmail

queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void

根据email查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1107

H
update  
HelloCrease 已提交
1108 1109 1110 1111 1112
| 参数名   | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| email    | string                                                | 是   | 联系人的邮箱地址。                     |
| holder   | [Holder](#holder)                                     | 是   | 创建联系人的应用信息。                 |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到的联系人对象数组。 |
O
ohos-lsw 已提交
1113 1114 1115

**示例:**

Z
zengyawen 已提交
1116
  ```js
O
ohos-lsw 已提交
1117
  contact.queryContactsByEmail('xxx@email.com', {
Q
qian-nan-xu 已提交
1118 1119 1120
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141
  }, (err, data) => {
      if (err) {
          console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByEmail

queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void

根据email查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1142

H
update  
HelloCrease 已提交
1143 1144 1145 1146 1147
| 参数名   | 类型                                                  | 必填 | 说明                                 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| email    | string                                                | 是   | 联系人的邮箱地址。                   |
| attrs    | [ContactAttributes](#contactattributes)               | 是   | 联系人的属性列表。                   |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到联系人对象数组。 |
O
ohos-lsw 已提交
1148 1149 1150

**示例:**

Z
zengyawen 已提交
1151
  ```js
O
ohos-lsw 已提交
1152
  contact.queryContactsByEmail('xxx@email.com', {
Q
qian-nan-xu 已提交
1153
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174
  }, (err, data) => {
      if (err) {
          console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByEmail

queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void

根据email查询联系人,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1175

H
update  
HelloCrease 已提交
1176 1177 1178 1179 1180 1181
| 参数名   | 类型                                                  | 必填 | 说明                                 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| email    | string                                                | 是   | 联系人的邮箱地址。                   |
| holder   | [Holder](#holder)                                     | 是   | 创建联系人的应用信息。               |
| attrs    | [ContactAttributes](#contactattributes)               | 是   | 联系人的属性列表。                   |
| callback | AsyncCallback<Array<[Contact](#contact)>> | 是   | 回调函数,返回查询到联系人对象数组。 |
O
ohos-lsw 已提交
1182 1183 1184

**示例:**

Z
zengyawen 已提交
1185
  ```js
O
ohos-lsw 已提交
1186
  contact.queryContactsByEmail('xxx@email.com', {
Q
qian-nan-xu 已提交
1187 1188 1189
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1190
  }, {
Q
qian-nan-xu 已提交
1191
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212
  }, (err, data) => {
      if (err) {
          console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryContactsByEmail

queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>

根据email查询联系人,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1213

H
update  
HelloCrease 已提交
1214 1215 1216 1217 1218
| 参数名 | 类型                                    | 必填 | 说明                   |
| ------ | --------------------------------------- | ---- | ---------------------- |
| email  | string                                  | 是   | 联系人的邮箱地址。     |
| holder | [Holder](#holder)                       | 否   | 创建联系人的应用信息。 |
| attrs  | [ContactAttributes](#contactattributes) | 否   | 联系人的属性列表。     |
O
ohos-lsw 已提交
1219 1220

**返回值:**
1221

H
update  
HelloCrease 已提交
1222 1223
| 类型                                            | 说明                                                |
| ----------------------------------------------- | --------------------------------------------------- |
O
ohos-lsw 已提交
1224 1225 1226 1227
| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 |

**示例:**

Z
zengyawen 已提交
1228
  ```js
O
ohos-lsw 已提交
1229
  let promise = contact.queryContactsByEmail('xxx@email.com', {
Q
qian-nan-xu 已提交
1230 1231 1232
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1233
  }, {
Q
qian-nan-xu 已提交
1234
      attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
O
ohos-lsw 已提交
1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254
  });
  promise.then((data) => {
      console.log(`queryContactsByEmail success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryContactsByEmail fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryGroups

queryGroups(callback: AsyncCallback<Array<Group>>): void

查询联系人的所有群组,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1255

H
update  
HelloCrease 已提交
1256 1257 1258
| 参数名   | 类型                                              | 必填 | 说明                                 |
| -------- | ------------------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback<Array<[Group](#group)>> | 是   | 回调函数,返回查询到的群组对象数组。 |
O
ohos-lsw 已提交
1259 1260 1261

**示例:**

Z
zengyawen 已提交
1262
  ```js
O
ohos-lsw 已提交
1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283
  contact.queryGroups((err, data) => {
      if (err) {
          console.log(`queryGroups callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryGroups callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryGroups

queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): void

查询联系人的所有群组,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1284

H
update  
HelloCrease 已提交
1285 1286 1287 1288
| 参数名   | 类型                                              | 必填 | 说明                                 |
| -------- | ------------------------------------------------- | ---- | ------------------------------------ |
| holder   | Holder                                            | 是   | 创建联系人的应用信息。               |
| callback | AsyncCallback<Array<[Group](#group)>> | 是   | 回调函数,返回查询到的群组对象数组。 |
O
ohos-lsw 已提交
1289 1290 1291

**示例:**

Z
zengyawen 已提交
1292
  ```js
O
ohos-lsw 已提交
1293
  contact.queryGroups({
Q
qian-nan-xu 已提交
1294 1295 1296
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317
  }, (err, data) => {
      if (err) {
          console.log(`queryGroups callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryGroups callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryGroups

queryGroups(holder?: Holder): Promise<Array<Group>>

查询联系人的所有群组,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1318

H
update  
HelloCrease 已提交
1319 1320 1321
| 参数名 | 类型              | 必填 | 说明                   |
| ------ | ----------------- | ---- | ---------------------- |
| holder | [Holder](#holder) | 否   | 创建联系人的应用信息。 |
O
ohos-lsw 已提交
1322 1323

**返回值:**
1324

H
update  
HelloCrease 已提交
1325 1326
| 类型                                        | 说明                                              |
| ------------------------------------------- | ------------------------------------------------- |
O
ohos-lsw 已提交
1327 1328 1329 1330
| Promise<Array<[Group](#group)>> | 以Promise形式返回结果,返回查询到的群组对象数组。 |

**示例:**

Z
zengyawen 已提交
1331
  ```js
O
ohos-lsw 已提交
1332
  let promise = contact.queryGroups({
Q
qian-nan-xu 已提交
1333 1334 1335
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355
  });
  promise.then((data) => {
      console.log(`queryGroups success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryGroups fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryHolders

queryHolders(callback: AsyncCallback<Array<Holder>>): void

查询所有创建联系人的应用信息,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1356

H
update  
HelloCrease 已提交
1357 1358 1359
| 参数名   | 类型                                                | 必填 | 说明                                                 |
| -------- | --------------------------------------------------- | ---- | ---------------------------------------------------- |
| callback | AsyncCallback<Array<[Holder](#holder)>> | 是   | 回调函数,返回查询到的创建联系人应用信息的对象数组。 |
O
ohos-lsw 已提交
1360 1361 1362

**示例:**

Z
zengyawen 已提交
1363
  ```js
O
ohos-lsw 已提交
1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384
  contact.queryHolders((err, data) => {
      if (err) {
          console.log(`queryHolders callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryHolders callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryHolders

queryHolders(): Promise<Array<Holder>>

查询所有创建联系人的应用信息,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**返回值:**
1385

H
update  
HelloCrease 已提交
1386 1387
| 类型                                          | 说明                                                         |
| --------------------------------------------- | ------------------------------------------------------------ |
O
ohos-lsw 已提交
1388 1389 1390 1391
| Promise<Array<[Holder](#holder)>> | 以Promise形式返回结果,返回查询到的创建联系人应用信息的对象数组。 |

**示例:**

Z
zengyawen 已提交
1392
  ```js
O
ohos-lsw 已提交
1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412
  let promise = contact.queryHolders();
  promise.then((data) => {
      console.log(`queryHolders success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryHolders fail: err->${JSON.stringify(err)}`);
  });
  ```


## contact.queryKey

queryKey(id: number, callback: AsyncCallback<string>): void

根据联系人的id查询联系人的key,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1413

H
update  
HelloCrease 已提交
1414 1415 1416 1417
| 参数名   | 类型                        | 必填 | 说明                                    |
| -------- | --------------------------- | ---- | --------------------------------------- |
| id       | number                      | 是   | 联系人对象的id属性。                    |
| callback | AsyncCallback<string> | 是   | 回调函数,返回查询到的联系人对应的key。 |
O
ohos-lsw 已提交
1418 1419 1420

**示例:**

Z
zengyawen 已提交
1421
  ```js
O
ohos-lsw 已提交
1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442
  contact.queryKey(/*id*/1, (err, data) => {
      if (err) {
          console.log(`queryKey callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryKey callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryKey

queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): void

根据联系人的id查询联系人的key,使用callback方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1443

H
update  
HelloCrease 已提交
1444 1445 1446 1447 1448
| 参数名   | 类型                        | 必填 | 说明                                    |
| -------- | --------------------------- | ---- | --------------------------------------- |
| id       | number                      | 是   | 联系人对象的id属性。                    |
| holder   | [Holder](#holder)           | 是   | 创建联系人的应用信息。                  |
| callback | AsyncCallback<string> | 是   | 回调函数,返回查询到的联系人对应的key。 |
O
ohos-lsw 已提交
1449 1450 1451

**示例:**

Z
zengyawen 已提交
1452
  ```js
O
ohos-lsw 已提交
1453
  contact.queryKey(id, {
Q
qian-nan-xu 已提交
1454 1455 1456
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477
  }, (err, data) => {
      if (err) {
          console.log(`queryKey callback: err->${JSON.stringify(err)}`);
          return;
      }
      console.log(`queryKey callback: success data->${JSON.stringify(data)}`);
  });
  ```


## contact.queryKey

queryKey(id: number, holder?: Holder): Promise<string>

根据联系人的id查询联系人的key,使用Promise方式作为异步方法。

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

**系统能力**:SystemCapability.Applications.ContactsData

**参数:**
1478

H
update  
HelloCrease 已提交
1479 1480 1481 1482
| 参数名 | 类型              | 必填 | 说明                   |
| ------ | ----------------- | ---- | ---------------------- |
| id     | number            | 是   | 联系人对象的id属性。   |
| holder | [Holder](#holder) | 否   | 创建联系人的应用信息。 |
O
ohos-lsw 已提交
1483 1484

**返回值:**
1485

H
update  
HelloCrease 已提交
1486 1487
| 类型                  | 说明                                                 |
| --------------------- | ---------------------------------------------------- |
O
ohos-lsw 已提交
1488 1489 1490 1491
| Promise<string> | 以Promise形式返回结果,返回查询到的联系人对应的key。 |

**示例:**

Z
zengyawen 已提交
1492
  ```js
O
ohos-lsw 已提交
1493
  let promise = contact.queryKey(id, {
Q
qian-nan-xu 已提交
1494 1495 1496
      holderId: 0,
      bundleName: "",
      displayName: ""
O
ohos-lsw 已提交
1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513
  });
  promise.then((data) => {
      console.log(`queryKey success: data->${JSON.stringify(data)}`);
  }).catch((err) => {
      console.error(`queryKey fail: err->${JSON.stringify(err)}`);
  });
  ```


## Contact

联系人对象类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
1514 1515 1516
| 名称               | 值   | 说明             |
| ------------------ | ---- | ---------------- |
| INVALID_CONTACT_ID | -1   | 默认联系人的id。 |
O
ohos-lsw 已提交
1517 1518 1519 1520


### 属性

H
update  
HelloCrease 已提交
1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539
| 名称              | 参数类型                                | 可读 | 可写 | 说明                                   |
| ----------------- | --------------------------------------- | ---- | ---- | -------------------------------------- |
| id                | number                                  | 是   | 否   | 联系人的id。                           |
| key               | string                                  | 是   | 否   | 联系人的key。                          |
| contactAttributes | [ContactAttributes](#contactattributes) | 是   | 是   | 联系人的属性列表。                     |
| emails            | [Email](#email)[]                       | 是   | 是   | 联系人的邮箱地址列表。                 |
| events            | [Event](#event)[]                       | 是   | 是   | 联系人的生日、周年纪念等重要日期列表。 |
| groups            | [Group](#group)[]                       | 是   | 是   | 联系人的群组列表。                     |
| imAddresses       | [ImAddress](#imaddress)[]               | 是   | 是   | 联系人的即时消息地址列表。             |
| phoneNumbers      | [PhoneNumber](#phonenumber)[]           | 是   | 是   | 联系人的电话号码列表。                 |
| portrait          | [Portrait](#portrait)                   | 是   | 是   | 联系人的头像。                         |
| postalAddresses   | [PostalAddress](#postaladdress)[]       | 是   | 是   | 联系人的邮政地址列表。                 |
| relations         | [Relation](#relation)[]                 | 是   | 是   | 联系人的关系列表。                     |
| sipAddresses      | [SipAddress](#sipaddress)[]             | 是   | 是   | 联系人的会话发起协议(SIP)地址列表。  |
| websites          | [Website](#website)[]                   | 是   | 是   | 联系人的网站列表。                     |
| name              | [Name](#name)                           | 是   | 是   | 联系人的姓名。                         |
| nickName          | [NickName](#nickname)                   | 是   | 是   | 联系人的昵称。                         |
| note              | [Note](#note)                           | 是   | 是   | 联系人的备注。                         |
| organization      | [Organization](#organization)           | 是   | 是   | 联系人的组织信息。                     |
O
ohos-lsw 已提交
1540 1541 1542 1543 1544 1545 1546


**对象创建示例:**

使用JSON格式创建联系人数据:


1547
```js
O
ohos-lsw 已提交
1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564
let myContact = {
    phoneNumbers: [{
        phoneNumber: "138xxxxxxxx"
    }],
    name: {
        fullName: "fullName",
        namePrefix: "namePrefix"
    },
    nickName: {
        nickName: "nickName"
    }
};
```


  或使用new一个Contact对象的方式创建数据:

Z
zengyawen 已提交
1565
```js
O
ohos-lsw 已提交
1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582
let myContact = new contact.Contact();
let name = new contact.Name();
name.fullName = "fullName";
let phoneNumber = new contact.PhoneNumber();
phoneNumber.phoneNumber = "138xxxxxxxx";
myContact.name = name;
myContact.phoneNumbers = [phoneNumber];
```


## ContactAttributes

联系人属性列表,一般作为入参用来标识希望查询的联系人属性。
当传入为null时,默认查询全部属性。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1583 1584 1585
| 名称       | 参数类型                  | 可读 | 可写 | 说明             |
| ---------- | ------------------------- | ---- | ---- | ---------------- |
| attributes | [Attribute](#attribute)[] | 是   | 是   | 联系人属性列表。 |
O
ohos-lsw 已提交
1586 1587 1588 1589 1590 1591 1592


**对象创建示例:**

使用JSON格式创建数据:


1593
```js
O
ohos-lsw 已提交
1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605
let contactAttributes = {
    attributes: [
        contact.Attribute.ATTR_EMAIL,
        contact.Attribute.ATTR_NAME,
        contact.Attribute.ATTR_PHONE
    ]
};
```

或使用new一个ContactAttributes对象的方式创建数据:


Z
zengyawen 已提交
1606
```js
O
ohos-lsw 已提交
1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617
let contactAttributes = new contact.ContactAttributes();
contactAttributes.attributes = ["ATTR_EMAIL"];
```


## Attribute

枚举,联系人属性列表。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633
| 名称                  | 说明                               |
| --------------------- | ---------------------------------- |
| ATTR_CONTACT_EVENT    | 联系人的生日、周年纪念等重要日期。 |
| ATTR_EMAIL            | 联系人的邮箱地址。                 |
| ATTR_GROUP_MEMBERSHIP | 联系人的群组。                     |
| ATTR_IM               | 联系人的即时消息地址。             |
| ATTR_NAME             | 联系人的姓名。                     |
| ATTR_NICKNAME         | 联系人的昵称。                     |
| ATTR_NOTE             | 联系人的备注。                     |
| ATTR_ORGANIZATION     | 联系人的组织信息。                 |
| ATTR_PHONE            | 联系人的电话号码。                 |
| ATTR_PORTRAIT         | 联系人的头像。                     |
| ATTR_POSTAL_ADDRESS   | 联系人的邮政地址。                 |
| ATTR_RELATION         | 联系人的关系。                     |
| ATTR_SIP_ADDRESS      | 联系人的会话发起协议(SIP)地址。  |
| ATTR_WEBSITE          | 联系人的网站。                     |
O
ohos-lsw 已提交
1634 1635 1636 1637 1638 1639


**对象创建示例:**

使用JSON格式创建数据:

1640
```js
O
ohos-lsw 已提交
1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652
let attributes = [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE];
```


## Email

联系人的邮箱。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
1653 1654 1655 1656 1657 1658 1659
| 名称             | 值   | 说明             |
| ---------------- | ---- | ---------------- |
| CUSTOM_LABEL     | 0    | 自定义邮箱类型。 |
| EMAIL_HOME       | 1    | 家庭邮箱类型。   |
| EMAIL_WORK       | 2    | 工作邮箱类型。   |
| EMAIL_OTHER      | 3    | 其它邮箱类型。   |
| INVALID_LABEL_ID | -1   | 无效邮箱类型。   |
O
ohos-lsw 已提交
1660 1661 1662 1663


### 属性

H
update  
HelloCrease 已提交
1664 1665 1666 1667 1668 1669
| 名称        | 参数类型 | 可读 | 可写 | 说明             |
| ----------- | -------- | ---- | ---- | ---------------- |
| email       | string   | 是   | 是   | 邮箱地址。       |
| labelName   | string   | 是   | 是   | 邮箱的类型名称。 |
| displayName | string   | 是   | 是   | 邮箱的显示名称。 |
| labelId     | number   | 是   | 是   | 邮箱的类型。     |
O
ohos-lsw 已提交
1670 1671 1672 1673 1674 1675


**对象创建示例:**

  使用JSON格式创建数据:

1676
```js
O
ohos-lsw 已提交
1677 1678 1679 1680 1681 1682 1683 1684 1685
let email = {
    email: "xxx@email.com",
    displayName: "displayName"
}
```


  或使用new一个Email对象的方式创建数据:

Z
zengyawen 已提交
1686
```js
O
ohos-lsw 已提交
1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697
let email = new contact.Email();
email.email = "xxx@email.com";
```


## Holder

创建联系人的应用信息类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1698 1699 1700 1701 1702
| 名称        | 参数类型 | 可读 | 可写 | 说明       |
| ----------- | -------- | ---- | ---- | ---------- |
| bundleName  | string   | 是   | 否   | 包名。     |
| displayName | string   | 是   | 否   | 应用名称。 |
| holderId    | number   | 是   | 是   | 应用id。   |
O
ohos-lsw 已提交
1703 1704 1705 1706 1707 1708


**对象创建示例:**

  使用JSON格式创建数据:

1709
```js
O
ohos-lsw 已提交
1710 1711 1712 1713 1714 1715 1716
let holder = {
  holderId: 0
};
```

  或使用new一个Holder对象的方式创建数据:

Z
zengyawen 已提交
1717
```js
O
ohos-lsw 已提交
1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730
let holder = new contact.Holder();
holder.holderId = 0;
```


## Event

联系人事件类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
1731 1732 1733 1734 1735 1736 1737
| 名称              | 值   | 说明               |
| ----------------- | ---- | ------------------ |
| CUSTOM_LABEL      | 0    | 自定义事件类型。   |
| EVENT_ANNIVERSARY | 1    | 周年纪念事件类型。 |
| EVENT_OTHER       | 2    | 其它事件类型。     |
| EVENT_BIRTHDAY    | 3    | 生日事件类型。     |
| INVALID_LABEL_ID  | -1   | 无效事件类型。     |
O
ohos-lsw 已提交
1738 1739 1740 1741


### 属性

H
update  
HelloCrease 已提交
1742 1743 1744 1745 1746
| 名称      | 参数类型 | 可读 | 可写 | 说明           |
| --------- | -------- | ---- | ---- | -------------- |
| eventDate | string   | 是   | 是   | 事件的日期。   |
| labelName | string   | 是   | 是   | 事件类型名称。 |
| labelId   | number   | 是   | 是   | 事件类型。     |
O
ohos-lsw 已提交
1747 1748 1749 1750 1751 1752


**对象创建示例:**

  使用JSON格式创建数据:

1753
```js
O
ohos-lsw 已提交
1754 1755 1756 1757 1758 1759 1760
let event = {
    eventDate: "xxxxxx"
};
```

  或使用new一个Event对象的方式创建数据:

Z
zengyawen 已提交
1761
```js
O
ohos-lsw 已提交
1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772
let event = new contact.Event();
event.eventDate = "xxxxxx";
```


## Group

联系人的群组类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1773 1774 1775 1776
| 名称    | 参数类型 | 可读 | 可写 | 说明               |
| ------- | -------- | ---- | ---- | ------------------ |
| groupId | number   | 是   | 是   | 联系人群组的id。   |
| title   | string   | 是   | 是   | 联系人群组的名称。 |
O
ohos-lsw 已提交
1777 1778 1779 1780 1781 1782


**对象创建示例:**

  使用JSON格式创建数据:

1783
```js
O
ohos-lsw 已提交
1784 1785 1786 1787 1788 1789 1790 1791
let group = {
    groupId: 1,
    title: "title"
};
```

  或使用new一个Group对象的方式创建数据:

Z
zengyawen 已提交
1792
```js
O
ohos-lsw 已提交
1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805
let group = new contact.Group();
group.title = "title";
```


## ImAddress

联系人的即时消息地址。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816
| 名称             | 值   | 说明                 |
| ---------------- | ---- | -------------------- |
| CUSTOM_LABEL     | -1   | 自定义即时消息类型。 |
| IM_AIM           | 0    | AIM即时消息类型。    |
| IM_MSN           | 1    | MSN即时消息类型。    |
| IM_YAHOO         | 2    | YAHOO即时消息类型。  |
| IM_SKYPE         | 3    | SKYPE即时消息类型。  |
| IM_QQ            | 4    | QQ即时消息类型。     |
| IM_ICQ           | 6    | ICQ即时消息类型。    |
| IM_JABBER        | 7    | JABBER即时消息类型。 |
| INVALID_LABEL_ID | -2   | 无效的即时消息类型。 |
O
ohos-lsw 已提交
1817 1818 1819 1820


### 属性

H
update  
HelloCrease 已提交
1821 1822 1823 1824 1825
| 名称      | 参数类型 | 可读 | 可写 | 说明               |
| --------- | -------- | ---- | ---- | ------------------ |
| imAddress | string   | 是   | 是   | 即时消息地址。     |
| labelName | string   | 是   | 是   | 即时消息类型名称。 |
| labelId   | number   | 是   | 是   | 即时消息类型。     |
O
ohos-lsw 已提交
1826 1827 1828 1829 1830 1831


**对象创建示例:**

  使用JSON格式创建数据:

1832
```js
O
ohos-lsw 已提交
1833 1834 1835 1836 1837 1838 1839 1840 1841
let imAddress = {
    imAddress: "imAddress",
    labelName: "labelName"
};
```


  或使用new一个ImAddress对象的方式创建数据:

Z
zengyawen 已提交
1842
```js
O
ohos-lsw 已提交
1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853
let imAddress = new contact.ImAddress();
imAddress.imAddress = "imAddress";
```


## Name

联系人的名字类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864
| 名称               | 参数类型 | 可读 | 可写 | 说明                        |
| ------------------ | -------- | ---- | ---- | --------------------------- |
| familyName         | string   | 是   | 是   | 联系人的家庭姓名。          |
| familyNamePhonetic | string   | 是   | 是   | 联系人的家庭姓名拼音。      |
| fullName           | string   | 是   | 是   | 联系人的全名。              |
| givenName          | string   | 是   | 是   | 联系人的名称(firstName)。 |
| givenNamePhonetic  | string   | 是   | 是   | 联系人的名称拼音。          |
| middleName         | string   | 是   | 是   | 联系人的中间名。            |
| middleNamePhonetic | string   | 是   | 是   | 联系人的中间名拼音。        |
| namePrefix         | string   | 是   | 是   | 联系人的姓名前缀。          |
| nameSuffix         | string   | 是   | 是   | 联系人的姓名后缀。          |
O
ohos-lsw 已提交
1865 1866 1867 1868 1869 1870


**对象创建示例:**

  使用JSON格式创建数据:

1871
```js
O
ohos-lsw 已提交
1872 1873 1874 1875 1876 1877 1878 1879
let name = {
    familyName: "familyName",
    fullName: "fullName"
};
```

  或使用new一个name对象的方式创建数据:

Z
zengyawen 已提交
1880
```js
O
ohos-lsw 已提交
1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892
let name = new contact.Name();
name.familyName = "familyName";
name.fullName = "fullName";
```


## NickName

联系人的昵称类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1893 1894 1895
| 名称     | 参数类型 | 可读 | 可写 | 说明           |
| -------- | -------- | ---- | ---- | -------------- |
| nickName | string   | 是   | 是   | 联系人的昵称。 |
O
ohos-lsw 已提交
1896 1897 1898 1899 1900 1901


**对象创建示例:**

  使用JSON格式创建数据:

1902
```js
O
ohos-lsw 已提交
1903 1904 1905 1906 1907 1908 1909
let nickName = {
    nickName: "nickName"
};
```

  或使用new一个NickName对象的方式创建数据:

Z
zengyawen 已提交
1910
```js
O
ohos-lsw 已提交
1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921
let nickName = new contact.NickName();
nickName.nickName = "nickName";
```


## Note

联系人的备注类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1922 1923 1924
| 名称        | 参数类型 | 可读 | 可写 | 说明               |
| ----------- | -------- | ---- | ---- | ------------------ |
| noteContent | string   | 是   | 是   | 联系人的备注内容。 |
O
ohos-lsw 已提交
1925 1926 1927 1928 1929 1930


**对象创建示例:**

  使用JSON格式创建数据:

1931
```js
O
ohos-lsw 已提交
1932 1933 1934 1935 1936 1937 1938
let note = {
    noteContent: "noteContent"
};
```

  或使用new一个Note对象的方式创建数据:

Z
zengyawen 已提交
1939
```js
O
ohos-lsw 已提交
1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950
let note = new contact.Note();
note.noteContent = "noteContent";
```


## Organization

联系人的组织类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
1951 1952 1953 1954
| 名称  | 参数类型 | 可读 | 可写 | 说明       |
| ----- | -------- | ---- | ---- | ---------- |
| name  | string   | 是   | 是   | 组织名称。 |
| title | string   | 是   | 是   | 组织标题。 |
O
ohos-lsw 已提交
1955 1956 1957 1958 1959 1960


**对象创建示例:**

  使用JSON格式创建数据:

1961
```js
O
ohos-lsw 已提交
1962 1963 1964 1965 1966 1967 1968 1969
let organization = {
    name: "name",
    title: "title"
};
```

  或使用new一个Organization对象的方式创建数据:

Z
zengyawen 已提交
1970
```js
O
ohos-lsw 已提交
1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984
let organization = new contact.Organization();
organization.name = "name";
organization.title = "title";
```


## PhoneNumber

联系人电话号码类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
| 名称             | 值   | 说明                                             |
| ---------------- | ---- | ------------------------------------------------ |
| CUSTOM_LABEL     | 0    | 自定义电话类型。                                 |
| NUM_HOME         | 1    | 家庭电话类型。                                   |
| NUM_MOBILE       | 2    | 移动电话类型。                                   |
| NUM_WORK         | 3    | 工作电话类型。                                   |
| NUM_FAX_WORK     | 4    | 工作传真电话类型。                               |
| NUM_FAX_HOME     | 5    | 家庭传真电话类型。                               |
| NUM_PAGER        | 6    | 寻呼机电话类型。                                 |
| NUM_OTHER        | 7    | 其它电话类型。                                   |
| NUM_CALLBACK     | 8    | 回呼电话类型。                                   |
| NUM_CAR          | 9    | 车机电话类型。                                   |
| NUM_COMPANY_MAIN | 10   | 公司电话类型。                                   |
| NUM_ISDN         | 11   | 综合业务数字网(ISDN)电话类型。                 |
| NUM_MAIN         | 12   | 主电话类型。                                     |
| NUM_OTHER_FAX    | 13   | 其它传真类型。                                   |
| NUM_RADIO        | 14   | 无线电话类型。                                   |
| NUM_TELEX        | 15   | 电传电话类型。                                   |
| NUM_TTY_TDD      | 16   | 电传打字机(TTY)或测试驱动开发(TDD)电话类型。 |
| NUM_WORK_MOBILE  | 17   | 工作移动电话类型。                               |
| NUM_WORK_PAGER   | 18   | 工作寻呼机电话类型。                             |
| NUM_ASSISTANT    | 19   | 助理电话类型。                                   |
| NUM_MMS          | 20   | 彩信电话类型。                                   |
| INVALID_LABEL_ID | -1   | 无效电话类型。                                   |
O
ohos-lsw 已提交
2009 2010 2011 2012


### 属性

H
update  
HelloCrease 已提交
2013 2014 2015 2016 2017
| 名称        | 参数类型 | 可读 | 可写 | 说明               |
| ----------- | -------- | ---- | ---- | ------------------ |
| labelName   | string   | 是   | 是   | 电话号码类型名称。 |
| phoneNumber | string   | 是   | 是   | 电话号码。         |
| labelId     | number   | 是   | 是   | 电话号码类型。     |
O
ohos-lsw 已提交
2018 2019 2020 2021 2022 2023


**对象创建示例:**

  使用JSON格式创建数据:

2024
```js
O
ohos-lsw 已提交
2025 2026 2027 2028 2029 2030 2031 2032
let phoneNumber = {
    phoneNumber: "138xxxxxxxx",
    labelId: contact.PhoneNumber.NUM_HOME
};
```

  或使用new一个PhoneNumber对象的方式创建数据:

Z
zengyawen 已提交
2033
```js
O
ohos-lsw 已提交
2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044
let phoneNumber = new contact.PhoneNumber();
phoneNumber.phoneNumber = "138xxxxxxxx";
```


## Portrait

联系人的头像类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
2045 2046 2047
| 名称 | 参数类型 | 可读 | 可写 | 说明           |
| ---- | -------- | ---- | ---- | -------------- |
| uri  | string   | 是   | 是   | 联系人的头像。 |
O
ohos-lsw 已提交
2048 2049 2050 2051 2052 2053


**对象创建示例:**

  使用JSON格式创建数据:

2054
```js
O
ohos-lsw 已提交
2055 2056 2057 2058 2059 2060 2061
let portrait = {
    uri: "uri"
};
```

  或使用new一个Portrait对象的方式创建数据:

Z
zengyawen 已提交
2062
```js
O
ohos-lsw 已提交
2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075
let portrait = new contact.Portrait();
portrait.uri = "uri";
```


## PostalAddress

联系人的邮政地址类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
2076 2077 2078 2079 2080 2081 2082
| 名称             | 值   | 说明                 |
| ---------------- | ---- | -------------------- |
| CUSTOM_LABEL     | 0    | 自定义邮政地址类型。 |
| ADDR_HOME        | 1    | 家庭地址类型。       |
| ADDR_WORK        | 2    | 工作地址类型。       |
| ADDR_OTHER       | 3    | 其它地址类型。       |
| INVALID_LABEL_ID | -1   | 无效地址类型。       |
O
ohos-lsw 已提交
2083 2084 2085 2086


### 属性

H
update  
HelloCrease 已提交
2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098
| 名称          | 参数类型 | 可读 | 可写 | 说明                       |
| ------------- | -------- | ---- | ---- | -------------------------- |
| city          | string   | 是   | 是   | 联系人所在的城市。         |
| country       | string   | 是   | 是   | 联系人所在的国家。         |
| labelName     | string   | 是   | 是   | 邮政地址类型名称。         |
| neighborhood  | string   | 是   | 是   | 联系人的邻居。             |
| pobox         | string   | 是   | 是   | 联系人的邮箱。             |
| postalAddress | string   | 是   | 是   | 联系人的邮政地址。         |
| postcode      | string   | 是   | 是   | 联系人所在区域的邮政编码。 |
| region        | string   | 是   | 是   | 联系人所在的区域。         |
| street        | string   | 是   | 是   | 联系人所在的街道。         |
| labelId       | number   | 是   | 是   | 邮政地址名称。             |
O
ohos-lsw 已提交
2099 2100 2101 2102 2103 2104


**对象创建示例:**

  使用JSON格式创建数据:

2105
```js
O
ohos-lsw 已提交
2106 2107 2108 2109 2110 2111 2112
let postalAddress = {
    city: "city"
};
```

  或使用new一个PostalAddress对象的方式创建数据:

Z
zengyawen 已提交
2113
```js
O
ohos-lsw 已提交
2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126
let postalAddress = new contact.PostalAddress();
postalAddress.city = "city";
```


## Relation

联系人的关系类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144
| 名称                      | 值   | 说明               |
| ------------------------- | ---- | ------------------ |
| CUSTOM_LABEL              | 0    | 自定义关系类型。   |
| RELATION_ASSISTANT        | 1    | 助手关系类型。     |
| RELATION_BROTHER          | 2    | 兄弟关系类型。     |
| RELATION_CHILD            | 3    | 子女关系类型。     |
| RELATION_DOMESTIC_PARTNER | 4    | 同居同伴关系类型。 |
| RELATION_FATHER           | 5    | 父亲关系类型。     |
| RELATION_FRIEND           | 6    | 朋友关系类型。     |
| RELATION_MANAGER          | 7    | 管理者关系类型。   |
| RELATION_MOTHER           | 8    | 母亲关系类型。     |
| RELATION_PARENT           | 9    | 父母关系类型。     |
| RELATION_PARTNER          | 10   | 合作伙伴关系类型。 |
| RELATION_REFERRED_BY      | 11   | 推荐人关系类型。   |
| RELATION_RELATIVE         | 12   | 亲属关系类型。     |
| RELATION_SISTER           | 13   | 姐妹关系类型。     |
| RELATION_SPOUSE           | 14   | 配偶关系类型。     |
| INVALID_LABEL_ID          | -1   | 无效的关系类型。   |
O
ohos-lsw 已提交
2145 2146 2147 2148


### 属性

H
update  
HelloCrease 已提交
2149 2150 2151 2152 2153
| 名称         | 参数类型 | 可读 | 可写 | 说明           |
| ------------ | -------- | ---- | ---- | -------------- |
| labelName    | string   | 是   | 是   | 关系类型名称。 |
| relationName | string   | 是   | 是   | 关系名称。     |
| labelId      | number   | 是   | 是   | 关系类型。     |
O
ohos-lsw 已提交
2154 2155 2156 2157 2158 2159


**对象创建示例:**

  使用JSON格式创建数据:

2160
```js
O
ohos-lsw 已提交
2161 2162 2163 2164 2165 2166 2167 2168
let relation = {
    relationName: "relationName",
    labelId: contact.Relation.RELATION_ASSISTANT
};
```

  或使用new一个Relation对象的方式创建数据:

Z
zengyawen 已提交
2169
```js
O
ohos-lsw 已提交
2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183
let relation = new contact.Relation();
relation.relationName = "relationName";
relation.labelId = contact.Relation.RELATION_ASSISTANT;
```


## SipAddress

联系人的会话发起协议(SIP)地址类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

### 常量

H
update  
HelloCrease 已提交
2184 2185 2186 2187 2188 2189 2190
| 名称             | 值   | 说明                                |
| ---------------- | ---- | ----------------------------------- |
| CUSTOM_LABEL     | 0    | 自定义会话发起协议(SIP)地址类型。 |
| SIP_HOME         | 1    | 家庭会话发起协议(SIP)地址类型。   |
| SIP_WORK         | 2    | 工作会话发起协议(SIP)地址类型。   |
| SIP_OTHER        | 3    | 其它会话发起协议(SIP)地址类型。   |
| INVALID_LABEL_ID | -1   | 无效会话发起协议(SIP)地址类型。   |
O
ohos-lsw 已提交
2191 2192 2193 2194


### 属性

H
update  
HelloCrease 已提交
2195 2196 2197 2198 2199
| 名称       | 参数类型 | 可读 | 可写 | 说明                              |
| ---------- | -------- | ---- | ---- | --------------------------------- |
| labelName  | string   | 是   | 是   | 会话发起协议(SIP)地址类型名称。 |
| sipAddress | string   | 是   | 是   | 会话发起协议(SIP)地址。         |
| labelId    | number   | 是   | 是   | 会话发起协议(SIP)地址类型。     |
O
ohos-lsw 已提交
2200 2201 2202 2203 2204

**对象创建示例:**

  使用JSON格式创建数据:

2205
```js
O
ohos-lsw 已提交
2206 2207 2208 2209 2210 2211 2212
var sipAddress = {
    sipAddress: "sipAddress"
};
```

  或使用new一个SipAddress对象的方式创建数据:

Z
zengyawen 已提交
2213
```js
O
ohos-lsw 已提交
2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224
let sipAddress = new contact.SipAddress();
sipAddress.sipAddress = "sipAddress";
```


## Website

联系人的网站信息类。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。

H
update  
HelloCrease 已提交
2225 2226 2227
| 名称    | 参数类型 | 可读 | 可写 | 说明               |
| ------- | -------- | ---- | ---- | ------------------ |
| website | string   | 是   | 是   | 联系人的网站信息。 |
O
ohos-lsw 已提交
2228 2229 2230 2231 2232 2233


**对象创建示例:**

  使用JSON格式创建数据:

2234
```js
O
ohos-lsw 已提交
2235 2236 2237 2238 2239 2240 2241
let website = {
    website: "website"
};
```

  或使用new一个Website对象的方式创建数据:

Z
zengyawen 已提交
2242
```js
O
ohos-lsw 已提交
2243 2244
let website = new contact.Website();
website.website = "website";
H
update  
HelloCrease 已提交
2245
```