1# @ohos.contact (联系人) 2 3本模块提供联系人管理能力,包括添加联系人、删除联系人、更新联系人等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9 10## 导入模块 11 12``` 13import { contact } from '@kit.ContactsKit'; 14``` 15 16## contact.addContact<sup>10+</sup> 17 18addContact(context: Context, contact: Contact, callback: AsyncCallback<number>): void 19 20添加联系人,使用callback方式作为异步方法。 21 22**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 23 24**需要权限**:ohos.permission.WRITE_CONTACTS 25 26**系统能力**:SystemCapability.Applications.ContactsData 27 28**参数:** 29 30| 参数名 | 类型 | 必填 | 说明 | 31| -------- | --------------------------- | ---- | ------------------------------------------------------------ | 32| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 33| contact | [Contact](#contact) | 是 | 联系人信息。 | 34| callback | AsyncCallback<number> | 是 | 回调函数。成功返回添加的联系人id;失败返回失败的错误码。 | 35 36**错误码:** 37 38以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 39 40| 错误码ID | 错误信息 | 41| -------- | ------------------ | 42| 201 | Permission denied. | 43| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 44 45**示例:** 46 47```js 48 import { BusinessError } from '@kit.BasicServicesKit'; 49 // 获取context。 50 let context = getContext(this) as Context; 51 contact.addContact( 52 context, 53 { 54 name: { 55 fullName: 'xxx' 56 }, 57 phoneNumbers: [{ 58 phoneNumber: '138xxxxxxxx' 59 }] 60 }, (err: BusinessError, data) => { 61 if (err) { 62 console.error(`Failed to add Contact. Code:${err.code}, message: ${err.message}`); 63 return; 64 } 65 console.info(`Succeeded in adding Contact. data: ${JSON.stringify(data)}`); 66 }); 67``` 68 69## contact.addContact<sup>(deprecated)7+</sup> 70 71addContact(contact:Contact, callback:AsyncCallback<number>): void 72 73添加联系人,使用callback方式作为异步方法。 74 75> **说明** 76> 77> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[addContact](#contactaddcontact10)替代。 78 79**需要权限**:ohos.permission.WRITE_CONTACTS 80 81**系统能力**:SystemCapability.Applications.ContactsData 82 83**参数:** 84 85| 参数名 | 类型 | 必填 | 说明 | 86| -------- | --------------------------- | ---- | -------------------------------------------------------- | 87| contact | [Contact](#contact) | 是 | 联系人信息。 | 88| callback | AsyncCallback<number> | 是 | 回调函数。成功返回添加的联系人id;失败返回失败的错误码。 | 89 90**示例:** 91 92 ```js 93 import { BusinessError } from '@kit.BasicServicesKit'; 94 contact.addContact({ 95 name: { 96 fullName: 'xxx' 97 }, 98 phoneNumbers: [{ 99 phoneNumber: '138xxxxxxxx' 100 }] 101 }, (err: BusinessError, data) => { 102 if (err) { 103 console.error(`Failed to add Contact. Code: ${err.code}, message: ${err.message}`); 104 return; 105 } 106 console.info(`Succeeded in adding Contact. data: ${JSON.stringify(data)}`); 107 }); 108 ``` 109 110## contact.addContact<sup>10+</sup> 111 112addContact(context: Context, contact: Contact): Promise<number> 113 114添加联系人,使用Promise方式作为异步方法。 115 116**原子化服务API**:从API version 12 开始,该接口支持在原子化服务中使用。 117 118**需要权限**:ohos.permission.WRITE_CONTACTS 119 120**系统能力**:SystemCapability.Applications.ContactsData 121 122**参数:** 123 124| 参数名 | 类型 | 必填 | 说明 | 125| ------- | ------------------- | ---- | ------------------------------------------------------------ | 126| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 127| contact | [Contact](#contact) | 是 | 联系人信息。 | 128 129**返回值:** 130 131| 类型 | 说明 | 132| --------------------- | --------------------------------- | 133| Promise<number> | Promise对象,返回添加的联系人id。 | 134 135**错误码:** 136 137以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 138 139| 错误码ID | 错误信息 | 140| -------- | ------------------ | 141| 201 | Permission denied. | 142| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 143 144**示例:** 145 146```js 147 import { BusinessError } from '@kit.BasicServicesKit'; 148 // 获取context。 149 let context = getContext(this) as Context; 150 let promise = contact.addContact( 151 context, 152 { 153 name: { 154 fullName: 'xxx' 155 }, 156 phoneNumbers: [{ 157 phoneNumber: '138xxxxxxxx' 158 }] 159 }); 160 promise.then((data) => { 161 console.info(`Succeeded in adding Contact. data: ${JSON.stringify(data)}`); 162 }).catch((err: BusinessError) => { 163 console.error(`Failed to add Contact. Code: ${err.code}, message: ${err.message}`); 164 }); 165``` 166 167## contact.addContact<sup>(deprecated)7+</sup> 168 169addContact(contact: Contact): Promise<number> 170 171添加联系人,使用Promise方式作为异步方法。 172 173> **说明** 174> 175> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[addContact](#contactaddcontact10-1)替代。 176 177**需要权限**:ohos.permission.WRITE_CONTACTS 178 179**系统能力**:SystemCapability.Applications.ContactsData 180 181**参数:** 182 183| 参数名 | 类型 | 必填 | 说明 | 184| ------- | ------------------- | ---- | ------------ | 185| contact | [Contact](#contact) | 是 | 联系人信息。 | 186 187**返回值:** 188 189| 类型 | 说明 | 190| --------------------- | --------------------------------- | 191| Promise<number> | Promise对象,返回添加的联系人id。 | 192 193**示例:** 194 195 ```js 196 import { BusinessError } from '@kit.BasicServicesKit'; 197 let promise = contact.addContact({ 198 name: { 199 fullName: 'xxx' 200 }, 201 phoneNumbers: [{ 202 phoneNumber: '138xxxxxxxx' 203 }] 204 }); 205 promise.then((data) => { 206 console.info(`Succeeded in adding Contact. data: ${JSON.stringify(data)}`); 207 }).catch((err: BusinessError) => { 208 console.error(`Failed to add Contact. Code: ${err.code}, message: ${err.message}`); 209 }); 210 ``` 211 212## contact.deleteContact<sup>10+</sup> 213 214deleteContact(context: Context, key: string, callback: AsyncCallback<void>): void 215 216删除联系人,使用callback方式作为异步方法。 217 218**需要权限**:ohos.permission.WRITE_CONTACTS 219 220**系统能力**:SystemCapability.Applications.ContactsData 221 222**参数:** 223 224| 参数名 | 类型 | 必填 | 说明 | 225| -------- | ------------------------- | ---- | ------------------------------------------------------------ | 226| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 227| key | string | 是 | 联系人的唯一查询键key值,一个联系人对应一个key。 | 228| callback | AsyncCallback<void> | 是 | 回调函数。成功返回删除的联系人id;失败返回失败的错误码。 | 229 230**错误码:** 231 232以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 233 234| 错误码ID | 错误信息 | 235| -------- | ------------------ | 236| 201 | Permission denied. | 237| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 238 239**示例:** 240 241```js 242 import { BusinessError } from '@kit.BasicServicesKit'; 243 // 获取context。 244 let context = getContext(this) as Context; 245 contact.deleteContact(context, 'xxx', (err: BusinessError) => { 246 if (err) { 247 console.error(`Failed to delete Contact. Code: ${err.code}, message: ${err.message}`); 248 return; 249 } 250 console.info('Succeeded in deleting Contact.'); 251 }); 252``` 253 254## contact.deleteContact<sup>(deprecated)7+</sup> 255 256deleteContact(key: string, callback: AsyncCallback<void>): void 257 258删除联系人,使用callback方式作为异步方法。 259 260> **说明** 261> 262> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[deleteContact](#contactdeletecontact10)替代。 263 264**需要权限**:ohos.permission.WRITE_CONTACTS 265 266**系统能力**:SystemCapability.Applications.ContactsData 267 268**参数:** 269 270| 参数名 | 类型 | 必填 | 说明 | 271| -------- | ------------------------- | ---- | ------------------------------------ | 272| key | string | 是 | 联系人的唯一查询键key值,一个联系人对应一个key。 | 273| callback | AsyncCallback<void> | 是 | 回调函数。成功返回删除的联系人id;失败返回失败的错误码。 | 274 275**示例:** 276 277 ```js 278 import { BusinessError } from '@kit.BasicServicesKit'; 279 contact.deleteContact('xxx', (err: BusinessError) => { 280 if (err) { 281 console.error(`Failed to delete Contact. Code: ${err.code}, message: ${err.message}`); 282 return; 283 } 284 console.info('Succeeded in deleting Contact.'); 285 }); 286 ``` 287 288 289## contact.deleteContact<sup>10+</sup> 290 291deleteContact(context: Context, key: string): Promise<void> 292 293删除联系人,使用Promise方式作为异步方法。 294 295**需要权限**:ohos.permission.WRITE_CONTACTS 296 297**系统能力**:SystemCapability.Applications.ContactsData 298 299**参数:** 300 301| 参数名 | 类型 | 必填 | 说明 | 302| ------- | ------- | ---- | ------------------------------------------------------------ | 303| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 304| key | string | 是 | 联系人的唯一查询键key值,一个联系人对应一个key。 | 305 306**返回值:** 307 308| 类型 | 说明 | 309| ------------------- | -------------------------------------- | 310| Promise<void> | Promise对象。无返回结果的Promise对象。 | 311 312**错误码:** 313 314以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 315 316| 错误码ID | 错误信息 | 317| -------- | ------------------ | 318| 201 | Permission denied. | 319| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 320 321**示例:** 322 323 ```js 324 import { BusinessError } from '@kit.BasicServicesKit'; 325 // 获取context。 326 let context = getContext(this) as Context; 327 let promise = contact.deleteContact(context, 'xxx'); 328 promise.then(() => { 329 console.info(`Succeeded in deleting Contact.`); 330 }).catch((err: BusinessError) => { 331 console.error(`Failed to delete Contact. Code: ${err.code}, message: ${err.message}`); 332 }); 333 ``` 334 335## contact.deleteContact<sup>(deprecated)7+</sup> 336 337deleteContact(key: string): Promise<void> 338 339删除联系人,使用Promise方式作为异步方法。 340 341> **说明** 342> 343> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[deleteContact](#contactdeletecontact10-1)替代。 344 345**需要权限**:ohos.permission.WRITE_CONTACTS 346 347**系统能力**:SystemCapability.Applications.ContactsData 348 349**参数:** 350 351| 参数名 | 类型 | 必填 | 说明 | 352| ------ | ------ | ---- | -------------------------------------- | 353| key | string | 是 | 联系人的唯一查询键key值,一个联系人对应一个key。 | 354 355**返回值:** 356 357| 类型 | 说明 | 358| ------------------- | -------------------------------------- | 359| Promise<void> | Promise对象。无返回结果的Promise对象。 | 360 361**示例:** 362 363 ```js 364 import { BusinessError } from '@kit.BasicServicesKit'; 365 let promise = contact.deleteContact('xxx'); 366 promise.then(() => { 367 console.info(`Succeeded in deleting Contact.`); 368 }).catch((err: BusinessError) => { 369 console.error(`Failed to delete Contact. Code: ${err.code}, message: ${err.message}`); 370 }); 371 ``` 372 373 374## contact.updateContact<sup>10+</sup> 375 376updateContact(context: Context, contact: Contact, callback: AsyncCallback<void>): void 377 378更新联系人,使用callback方式作为异步方法。 379 380**需要权限**:ohos.permission.WRITE_CONTACTS和ohos.permission.READ_CONTACTS 381 382**系统能力**:SystemCapability.Applications.ContactsData 383 384**参数:** 385 386| 参数名 | 类型 | 必填 | 说明 | 387| -------- | ------------------------- | ---- | ------------------------------------------------------------ | 388| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 389| contact | [Contact](#contact) | 是 | 联系人信息。id必填。 | 390| callback | AsyncCallback<void> | 是 | 回调函数。成功返回更新的联系人id;失败返回失败的错误码。 | 391 392**错误码:** 393 394以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 395 396| 错误码ID | 错误信息 | 397| -------- | ------------------ | 398| 201 | Permission denied. | 399| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 400 401**示例:** 402 403 ```js 404 import { BusinessError } from '@kit.BasicServicesKit'; 405 // 获取context。 406 let context = getContext(this) as Context; 407 contact.updateContact(context, { 408 id: 1, 409 name: { 410 fullName: 'xxx' 411 }, 412 phoneNumbers: [{ 413 phoneNumber: '138xxxxxxxx' 414 }] 415 }, (err: BusinessError) => { 416 if (err) { 417 console.error(`Failed to update Contact. Code: ${err.code}, message: ${err.message}`); 418 return; 419 } 420 console.info('Succeeded in updating Contact.'); 421 }); 422 ``` 423 424## contact.updateContact<sup>(deprecated)7+</sup> 425 426updateContact(contact: Contact, callback: AsyncCallback<void>): void 427 428更新联系人,使用callback方式作为异步方法。 429 430> **说明** 431> 432> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[updateContact](#contactupdatecontact10)替代。 433 434**需要权限**:ohos.permission.WRITE_CONTACTS和ohos.permission.READ_CONTACTS 435 436**系统能力**:SystemCapability.Applications.ContactsData 437 438**参数:** 439 440| 参数名 | 类型 | 必填 | 说明 | 441| -------- | ------------------------- | ---- | ------------------------------------ | 442| contact | [Contact](#contact) | 是 | 联系人信息。id必填。 | 443| callback | AsyncCallback<void> | 是 | 回调函数。成功返回更新的联系人id;失败返回失败的错误码。 | 444 445**示例:** 446 447 ```js 448 import { BusinessError } from '@kit.BasicServicesKit'; 449 contact.updateContact({ 450 id: 1, 451 name: { 452 fullName: 'xxx' 453 }, 454 phoneNumbers: [{ 455 phoneNumber: '138xxxxxxxx' 456 }] 457 }, (err: BusinessError) => { 458 if (err) { 459 console.error(`Failed to update Contact. Code: ${err.code}, message: ${err.message}`); 460 return; 461 } 462 console.info('Succeeded in updating Contact.'); 463 }); 464 ``` 465 466 467## contact.updateContact<sup>10+</sup> 468 469updateContact(context: Context, contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void 470 471更新联系人,使用callback方式作为异步方法。 472 473**需要权限**:ohos.permission.WRITE_CONTACTS和ohos.permission.READ_CONTACTS 474 475**系统能力**:SystemCapability.Applications.ContactsData 476 477**参数:** 478 479| 参数名 | 类型 | 必填 | 说明 | 480| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 481| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 482| contact | [Contact](#contact) | 是 | 联系人信息。id必填。 | 483| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 484| callback | AsyncCallback<void> | 是 | 回调函数。成功返回更新的联系人id;失败返回失败的错误码。 | 485 486**错误码:** 487 488以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 489 490| 错误码ID | 错误信息 | 491| -------- | ------------------ | 492| 201 | Permission denied. | 493| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 494 495**示例:** 496 497 ```js 498 import { BusinessError } from '@kit.BasicServicesKit'; 499 // 获取context。 500 let context = getContext(this) as Context; 501 contact.updateContact(context, { 502 id: 1, 503 name: { 504 fullName: 'xxx' 505 }, 506 phoneNumbers: [{ 507 phoneNumber: '138xxxxxxxx' 508 }] 509 }, { 510 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 511 }, (err: BusinessError) => { 512 if (err) { 513 console.error(`Failed to update Contact. Code: ${err.code}, message: ${err.message}`); 514 return; 515 } 516 console.info('Succeeded in updating Contact.'); 517 }); 518 ``` 519 520## contact.updateContact<sup>(deprecated)7+</sup> 521 522updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void 523 524更新联系人,使用callback方式作为异步方法。 525 526> **说明** 527> 528> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[updateContact](#contactupdatecontact10-1)替代。 529 530**需要权限**:ohos.permission.WRITE_CONTACTS和ohos.permission.READ_CONTACTS 531 532**系统能力**:SystemCapability.Applications.ContactsData 533 534**参数:** 535 536| 参数名 | 类型 | 必填 | 说明 | 537| -------- | --------------------------------------- | ---- | ------------------------------------ | 538| contact | [Contact](#contact) | 是 | 联系人信息。id必填。 | 539| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 540| callback | AsyncCallback<void> | 是 | 回调函数。成功返回更新的联系人id;失败返回失败的错误码。 | 541 542**示例:** 543 544 ```js 545 import { BusinessError } from '@kit.BasicServicesKit'; 546 contact.updateContact({ 547 id: 1, 548 name: { 549 fullName: 'xxx' 550 }, 551 phoneNumbers: [{ 552 phoneNumber: '138xxxxxxxx' 553 }] 554 }, { 555 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 556 }, (err: BusinessError) => { 557 if (err) { 558 console.error(`Failed to update Contact. Code: ${err.code}, message: ${err.message}`); 559 return; 560 } 561 console.info('Succeeded in updating Contact.'); 562 }); 563 ``` 564 565 566## contact.updateContact<sup>10+</sup> 567 568updateContact(context: Context, contact: Contact, attrs?: ContactAttributes): Promise<void> 569 570更新联系人,使用Promise方式作为异步方法。 571 572**需要权限**:ohos.permission.WRITE_CONTACTS和ohos.permission.READ_CONTACTS 573 574**系统能力**:SystemCapability.Applications.ContactsData 575 576**参数:** 577 578| 参数名 | 类型 | 必填 | 说明 | 579| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 580| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 581| contact | [Contact](#contact) | 是 | 联系人信息。id必填。 | 582| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 583 584**返回值:** 585 586| 类型 | 说明 | 587| ------------------- | -------------------------------------- | 588| Promise<void> | Promise对象。无返回结果的Promise对象。 | 589 590**错误码:** 591 592以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 593 594| 错误码ID | 错误信息 | 595| -------- | ------------------ | 596| 201 | Permission denied. | 597| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 598 599**示例:** 600 601```js 602 import { BusinessError } from '@kit.BasicServicesKit'; 603 // 获取context。 604 let context = getContext(this) as Context; 605 let promise = contact.updateContact(context, { 606 id: 1, 607 name: { 608 fullName: 'xxx' 609 }, 610 phoneNumbers: [{ 611 phoneNumber: '138xxxxxxxx' 612 }] 613 }, { 614 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 615 }); 616 promise.then(() => { 617 console.info('Succeeded in updating Contact.'); 618 }).catch((err: BusinessError) => { 619 console.error(`Failed to update Contact. Code: ${err.code}, message: ${err.message}`); 620 }); 621``` 622 623## contact.updateContact<sup>(deprecated)7+</sup> 624 625updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void> 626 627更新联系人,使用Promise方式作为异步方法。 628 629> **说明** 630> 631> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[updateContact](#contactupdatecontact10-2)替代。 632 633**需要权限**:ohos.permission.WRITE_CONTACTS和ohos.permission.READ_CONTACTS 634 635**系统能力**:SystemCapability.Applications.ContactsData 636 637**参数:** 638 639| 参数名 | 类型 | 必填 | 说明 | 640| ------- | --------------------------------------- | ---- | ------------------ | 641| contact | [Contact](#contact) | 是 | 联系人信息。id必填。 | 642| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 643 644**返回值:** 645 646| 类型 | 说明 | 647| ------------------- | -------------------------------------- | 648| Promise<void> | Promise对象。无返回结果的Promise对象。 | 649 650**示例:** 651 652 ```js 653 import { BusinessError } from '@kit.BasicServicesKit'; 654 let promise = contact.updateContact({ 655 id: 1, 656 name: { 657 fullName: 'xxx' 658 }, 659 phoneNumbers: [{ 660 phoneNumber: '138xxxxxxxx' 661 }] 662 }, { 663 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 664 }); 665 promise.then(() => { 666 console.info('Succeeded in updating Contact.'); 667 }).catch((err: BusinessError) => { 668 console.error(`Failed to update Contact. Code: ${err.code}, message: ${err.message}`); 669 }); 670 ``` 671 672 673## contact.isLocalContact<sup>10+</sup> 674 675isLocalContact(context: Context, id: number, callback: AsyncCallback<boolean>): void 676 677判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。 678 679**需要权限**:ohos.permission.READ_CONTACTS 680 681**系统能力**:SystemCapability.Applications.ContactsData 682 683**参数:** 684 685| 参数名 | 类型 | 必填 | 说明 | 686| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 687| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 688| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | 689| callback | AsyncCallback<boolean> | 是 | 回调函数。成功返回布尔值,true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中;失败返回失败的错误码。 | 690 691**错误码:** 692 693以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 694 695| 错误码ID | 错误信息 | 696| -------- | ------------------ | 697| 201 | Permission denied. | 698| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 699 700**示例:** 701 702 ```js 703 import { BusinessError } from '@kit.BasicServicesKit'; 704 // 获取context。 705 let context = getContext(this) as Context; 706 contact.isLocalContact(context, /*id*/1, (err: BusinessError, data) => { 707 if (err) { 708 console.error(`Failed to isLocalContact. Code: ${err.code}, message: ${err.message}`); 709 return; 710 } 711 console.info(`Succeeded in isLocalContact.`); 712 }); 713 ``` 714 715## contact.isLocalContact<sup>(deprecated)7+</sup> 716 717isLocalContact(id: number, callback: AsyncCallback<boolean>): void 718 719判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。 720 721> **说明** 722> 723> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[isLocalContact](#contactislocalcontact10)替代。 724 725**需要权限**:ohos.permission.READ_CONTACTS 726 727**系统能力**:SystemCapability.Applications.ContactsData 728 729**参数:** 730 731| 参数名 | 类型 | 必填 | 说明 | 732| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 733| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | 734| callback | AsyncCallback<boolean> | 是 | 回调函数。成功返回布尔值,true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中;失败返回失败的错误码。 | 735 736**示例:** 737 738 ```js 739 import { BusinessError } from '@kit.BasicServicesKit'; 740 contact.isLocalContact(/*id*/1, (err: BusinessError, data) => { 741 if (err) { 742 console.error(`Failed to isLocalContact. Code: ${err.code}, message: ${err.message}`); 743 return; 744 } 745 console.info(`Succeeded in isLocalContact.`); 746 }); 747 ``` 748 749## contact.isLocalContact<sup>10+</sup> 750 751isLocalContact(context: Context, id: number): Promise<boolean> 752 753判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 754 755**需要权限**:ohos.permission.READ_CONTACTS 756 757**系统能力**:SystemCapability.Applications.ContactsData 758 759**参数:** 760 761| 参数名 | 类型 | 必填 | 说明 | 762| ------- | ------- | ---- | ------------------------------------------------------------ | 763| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 764| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | 765 766**返回值:** 767 768| 类型 | 说明 | 769| ---------------------- | ------------------------------------------------------------ | 770| Promise<boolean> | Promise对象。返回true表示联系人id在本地电话簿中,返回false表示联系人id不在本地电话簿中。 | 771 772**错误码:** 773 774以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 775 776| 错误码ID | 错误信息 | 777| -------- | ------------------ | 778| 201 | Permission denied. | 779| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 780 781**示例:** 782 783```js 784 import { BusinessError } from '@kit.BasicServicesKit'; 785 // 获取context。 786 let context = getContext(this) as Context; 787 let promise = contact.isLocalContact(context, /*id*/1); 788 promise.then((data) => { 789 console.info(`Succeeded in isLocalContact. data->${JSON.stringify(data)}`); 790 }).catch((err: BusinessError) => { 791 console.error(`Failed to isLocalContact. Code: ${err.code}, message: ${err.message}`); 792 }); 793``` 794 795## contact.isLocalContact<sup>(deprecated)7+</sup> 796 797isLocalContact(id: number): Promise<boolean> 798 799判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 800 801> **说明** 802> 803> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[isLocalContact](#contactislocalcontact10-1)替代。 804 805**需要权限**:ohos.permission.READ_CONTACTS 806 807**系统能力**:SystemCapability.Applications.ContactsData 808 809**参数:** 810 811| 参数名 | 类型 | 必填 | 说明 | 812| ------ | ------ | ---- | ------------------------------------------ | 813| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | 814 815**返回值:** 816 817| 类型 | 说明 | 818| ---------------------- | ------------------------------------------------------------ | 819| Promise<boolean> | Promise对象。返回true表示联系人id在本地电话簿中,返回false表示联系人id不在本地电话簿中。 | 820 821**示例:** 822 823 ```js 824 import { BusinessError } from '@kit.BasicServicesKit'; 825 let promise = contact.isLocalContact(/*id*/1); 826 promise.then((data) => { 827 console.info(`Succeeded in isLocalContact. data->${JSON.stringify(data)}`); 828 }).catch((err: BusinessError) => { 829 console.error(`Failed to isLocalContact. Code: ${err.code}, message: ${err.message}`); 830 }); 831 ``` 832 833## contact.isMyCard<sup>10+</sup> 834 835isMyCard(context: Context, id: number, callback: AsyncCallback<boolean>): void 836 837判断是否为“我的名片”,使用callback方式作为异步方法。 838 839**需要权限**:ohos.permission.READ_CONTACTS 840 841**系统能力**:SystemCapability.Applications.ContactsData 842 843**参数:** 844 845| 参数名 | 类型 | 必填 | 说明 | 846| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 847| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 848| id | number | 是 | 名片对象的id属性。 | 849| callback | AsyncCallback<boolean> | 是 | 回调函数。成功返回是否为“我的名片”的布尔值。true代表的是“我的名片”,false则代表不是;失败返回失败的错误码。 | 850 851**错误码:** 852 853以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 854 855| 错误码ID | 错误信息 | 856| -------- | ------------------ | 857| 201 | Permission denied. | 858| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 859 860**示例:** 861 862```js 863 import { BusinessError } from '@kit.BasicServicesKit'; 864 // 获取context。 865 let context = getContext(this) as Context; 866 contact.isMyCard(context, /*id*/1, (err: BusinessError, data) => { 867 if (err) { 868 console.error(`Failed to isMyCard. Code: ${err.code}, message: ${err.message}`); 869 return; 870 } 871 console.info(`Succeeded in isMyCard. data->${JSON.stringify(data)}`); 872 }); 873``` 874 875## contact.isMyCard<sup>(deprecated)7+</sup> 876 877isMyCard(id: number, callback: AsyncCallback<boolean>): void 878 879判断是否为“我的名片”,使用callback方式作为异步方法。 880 881> **说明** 882> 883> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[isMyCard](#contactismycard10)替代。 884 885**需要权限**:ohos.permission.READ_CONTACTS 886 887**系统能力**:SystemCapability.Applications.ContactsData 888 889**参数:** 890 891| 参数名 | 类型 | 必填 | 说明 | 892| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 893| id | number | 是 | 名片对象的id属性。 | 894| callback | AsyncCallback<boolean> | 是 | 回调函数。成功返回是否为“我的名片”的布尔值。true代表的是“我的名片”,false则代表不是;失败返回失败的错误码。 | 895 896**示例:** 897 898 ```js 899 import { BusinessError } from '@kit.BasicServicesKit'; 900 contact.isMyCard(/*id*/1, (err: BusinessError, data) => { 901 if (err) { 902 console.error(`Failed to isMyCard. Code: ${err.code}, message: ${err.message}`); 903 return; 904 } 905 console.info(`Succeeded in isMyCard. data->${JSON.stringify(data)}`); 906 }); 907 ``` 908 909 910## contact.isMyCard<sup>10+</sup> 911 912isMyCard(context: Context, id: number): Promise<boolean> 913 914判断是否为“我的名片”,使用Promise方式作为异步方法。 915 916**需要权限**:ohos.permission.READ_CONTACTS 917 918**系统能力**:SystemCapability.Applications.ContactsData 919 920**参数:** 921 922| 参数名 | 类型 | 必填 | 说明 | 923| ------- | ------- | ---- | ------------------------------------------------------------ | 924| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 925| id | number | 是 | 名片对象的id属性。 | 926 927**返回值:** 928 929| 类型 | 说明 | 930| ---------------------- | ---------------------------------------------------------- | 931| Promise<boolean> | Promise对象。返回true表示是“我的名片”,返回false表示不是。 | 932 933**错误码:** 934 935以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 936 937| 错误码ID | 错误信息 | 938| -------- | ------------------ | 939| 201 | Permission denied. | 940| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 941 942**示例:** 943 944```js 945 import { BusinessError } from '@kit.BasicServicesKit'; 946 // 获取context。 947 let context = getContext(this) as Context; 948 let promise = contact.isMyCard(context, /*id*/1); 949 promise.then((data) => { 950 console.info(`Succeeded in isMyCard. data->${JSON.stringify(data)}`); 951 }).catch((err: BusinessError) => { 952 console.error(`Failed to isMyCard. Code: ${err.code}, message: ${err.message}`); 953 }); 954``` 955 956## contact.isMyCard<sup>(deprecated)7+</sup> 957 958isMyCard(id: number): Promise<boolean> 959 960判断是否为“我的名片”,使用Promise方式作为异步方法。 961 962> **说明** 963> 964> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[isMyCard](#contactismycard10-1)替代。 965 966**需要权限**:ohos.permission.READ_CONTACTS 967 968**系统能力**:SystemCapability.Applications.ContactsData 969 970**参数:** 971 972| 参数名 | 类型 | 必填 | 说明 | 973| ------ | ------ | ---- | -------------------- | 974| id | number | 是 | 名片对象的id属性。 | 975 976**返回值:** 977 978| 类型 | 说明 | 979| ---------------------- | ---------------------------------------------------------- | 980| Promise<boolean> | Promise对象。返回true表示是“我的名片”,返回false表示不是。 | 981 982**示例:** 983 984 ```js 985 import { BusinessError } from '@kit.BasicServicesKit'; 986 let promise = contact.isMyCard(/*id*/1); 987 promise.then((data) => { 988 console.info(`Succeeded in isMyCard. data->${JSON.stringify(data)}`); 989 }).catch((err: BusinessError) => { 990 console.error(`Failed to isMyCard. Code: ${err.code}, message: ${err.message}`); 991 }); 992 ``` 993 994## contact.queryMyCard<sup>10+</sup> 995 996queryMyCard(context: Context, callback: AsyncCallback<Contact>): void 997 998查询“我的名片”,使用callback方式作为异步方法。 999 1000**需要权限**:ohos.permission.READ_CONTACTS 1001 1002**系统能力**:SystemCapability.Applications.ContactsData 1003 1004**参数:** 1005 1006| 参数名 | 类型 | 必填 | 说明 | 1007| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1008| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1009| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回“我的名片”信息;失败返回失败的错误码。 | 1010 1011**错误码:** 1012 1013以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1014 1015| 错误码ID | 错误信息 | 1016| -------- | ------------------ | 1017| 201 | Permission denied. | 1018| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1019 1020**示例:** 1021 1022```js 1023 import { BusinessError } from '@kit.BasicServicesKit'; 1024 // 获取context。 1025 let context = getContext(this) as Context; 1026 contact.queryMyCard(context, (err: BusinessError, data) => { 1027 if (err) { 1028 console.error(`Failed to query My Card. Code: ${err.code}, message: ${err.message}`); 1029 return; 1030 } 1031 console.info(`Succeeded in querying My Card. data->${JSON.stringify(data)}`); 1032 }); 1033``` 1034 1035## contact.queryMyCard<sup>(deprecated)7+</sup> 1036 1037queryMyCard(callback: AsyncCallback<Contact>): void 1038 1039查询“我的名片”,使用callback方式作为异步方法。 1040 1041> **说明** 1042> 1043> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10)替代。 1044 1045**需要权限**:ohos.permission.READ_CONTACTS 1046 1047**系统能力**:SystemCapability.Applications.ContactsData 1048 1049**参数:** 1050 1051| 参数名 | 类型 | 必填 | 说明 | 1052| -------- | ---------------------------------------- | ---- | -------------------------------------------------------- | 1053| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回“我的名片”信息;失败返回失败的错误码。 | 1054 1055**示例:** 1056 1057 ```js 1058 import { BusinessError } from '@kit.BasicServicesKit'; 1059 contact.queryMyCard((err: BusinessError, data) => { 1060 if (err) { 1061 console.error(`Failed to query My Card. Code: ${err.code}, message: ${err.message}`); 1062 return; 1063 } 1064 console.info(`Succeeded in querying My Card. data->${JSON.stringify(data)}`); 1065 }); 1066 ``` 1067 1068## contact.queryMyCard<sup>10+</sup> 1069 1070queryMyCard(context: Context, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 1071 1072查询“我的名片”,使用callback方式作为异步方法。 1073 1074**需要权限**:ohos.permission.READ_CONTACTS 1075 1076**系统能力**:SystemCapability.Applications.ContactsData 1077 1078**参数:** 1079 1080| 参数名 | 类型 | 必填 | 说明 | 1081| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1082| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1083| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1084| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回“我的名片”信息;失败返回失败的错误码。 | 1085 1086**错误码:** 1087 1088以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1089 1090| 错误码ID | 错误信息 | 1091| -------- | ------------------ | 1092| 201 | Permission denied. | 1093| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1094 1095**示例:** 1096 1097```js 1098 import { BusinessError } from '@kit.BasicServicesKit'; 1099 // 获取context。 1100 let context = getContext(this) as Context; 1101 contact.queryMyCard(context, { 1102 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1103 }, (err: BusinessError, data) => { 1104 if (err) { 1105 console.error(`Failed to query My Card. Code: ${err.code}, message: ${err.message}`); 1106 return; 1107 } 1108 console.info(`Succeeded in querying My Card. data->${JSON.stringify(data)}`); 1109 }); 1110``` 1111 1112## contact.queryMyCard<sup>(deprecated)7+</sup> 1113 1114queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 1115 1116查询“我的名片”,使用callback方式作为异步方法。 1117 1118> **说明** 1119> 1120> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10-1)替代。 1121 1122**需要权限**:ohos.permission.READ_CONTACTS 1123 1124**系统能力**:SystemCapability.Applications.ContactsData 1125 1126**参数:** 1127 1128| 参数名 | 类型 | 必填 | 说明 | 1129| -------- | ---------------------------------------- | ---- | -------------------------------------------------------- | 1130| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1131| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回“我的名片”信息;失败返回失败的错误码。 | 1132 1133**示例:** 1134 1135 ```js 1136 import { BusinessError } from '@kit.BasicServicesKit'; 1137 contact.queryMyCard({ 1138 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1139 }, (err: BusinessError, data) => { 1140 if (err) { 1141 console.error(`Failed to query My Card. Code: ${err.code}, message: ${err.message}`); 1142 return; 1143 } 1144 console.info(`Succeeded in querying My Card. data->${JSON.stringify(data)}`); 1145 }); 1146 ``` 1147 1148## contact.queryMyCard<sup>10+</sup> 1149 1150queryMyCard(context: Context, attrs?: ContactAttributes): Promise<Contact> 1151 1152查询“我的名片”,使用Promise方式作为异步方法。 1153 1154**需要权限**:ohos.permission.READ_CONTACTS 1155 1156**系统能力**:SystemCapability.Applications.ContactsData 1157 1158**参数:** 1159 1160| 参数名 | 类型 | 必填 | 说明 | 1161| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 1162| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1163| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 1164 1165**返回值:** 1166 1167| 类型 | 说明 | 1168| ---------------------------------- | --------------------------------------- | 1169| Promise<[Contact](#contact)> | Promise对象。返回“我的名片”联系人对象。 | 1170 1171**错误码:** 1172 1173以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1174 1175| 错误码ID | 错误信息 | 1176| -------- | ------------------ | 1177| 201 | Permission denied. | 1178| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1179 1180**示例:** 1181 1182```js 1183 import { BusinessError } from '@kit.BasicServicesKit'; 1184 // 获取context。 1185 let context = getContext(this) as Context; 1186 let promise = contact.queryMyCard(context, { 1187 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1188 }); 1189 promise.then((data) => { 1190 console.info(`Succeeded in querying My Card. data->${JSON.stringify(data)}`); 1191 }).catch((err: BusinessError) => { 1192 console.error(`Failed to query My Card. Code: ${err.code}, message: ${err.message}`); 1193 }); 1194``` 1195 1196## contact.queryMyCard<sup>(deprecated)7+</sup> 1197 1198queryMyCard(attrs?: ContactAttributes): Promise<Contact> 1199 1200查询“我的名片”,使用Promise方式作为异步方法。 1201 1202> **说明** 1203> 1204> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10-2)替代。 1205 1206**需要权限**:ohos.permission.READ_CONTACTS 1207 1208**系统能力**:SystemCapability.Applications.ContactsData 1209 1210**参数:** 1211 1212| 参数名 | 类型 | 必填 | 说明 | 1213| ------ | --------------------------------------- | ---- | ------------------ | 1214| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 1215 1216**返回值:** 1217 1218| 类型 | 说明 | 1219| ---------------------------------- | --------------------------------------- | 1220| Promise<[Contact](#contact)> | Promise对象。返回“我的名片”联系人对象。 | 1221 1222**示例:** 1223 1224 ```js 1225 import { BusinessError } from '@kit.BasicServicesKit'; 1226 let promise = contact.queryMyCard({ 1227 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1228 }); 1229 promise.then((data) => { 1230 console.info(`Succeeded in querying My Card. data->${JSON.stringify(data)}`); 1231 }).catch((err: BusinessError) => { 1232 console.error(`Failed to query My Card. Code: ${err.code}, message: ${err.message}`); 1233 }); 1234 ``` 1235 1236 1237## contact.selectContact<sup>(deprecated)7+</sup> 1238 1239selectContact(callback: AsyncCallback<Array<Contact>>): void 1240 1241调用选择联系人接口,打开选择联系人UI界面,选定的联系人使用callback方式作为异步方法。 1242 1243> **说明** 1244> 1245> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[selectContacts](#contactselectcontacts10)替代。 1246 1247**系统能力**:SystemCapability.Applications.Contacts 1248 1249**参数:** 1250 1251| 参数名 | 类型 | 必填 | 说明 | 1252| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 1253| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回选择的联系人对象数组;失败返回失败的错误码。 | 1254 1255**示例:** 1256 1257 ```js 1258 import { BusinessError } from '@kit.BasicServicesKit'; 1259 contact.selectContact((err: BusinessError, data) => { 1260 if (err) { 1261 console.error(`Failed to select Contact. Code: ${err.code}, message: ${err.message}`); 1262 return; 1263 } 1264 console.info(`Succeeded in selecting Contact. data->${JSON.stringify(data)}`); 1265 }); 1266 ``` 1267 1268 1269## contact.selectContact<sup>(deprecated)7+</sup> 1270 1271selectContact(): Promise<Array<Contact>> 1272 1273调用选择联系人接口,打开选择联系人UI界面,选定的联系人使用Promise方式作为异步方法。 1274 1275> **说明** 1276> 1277> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[selectContacts](#contactselectcontacts10-1)替代。 1278 1279**系统能力**:SystemCapability.Applications.Contacts 1280 1281**返回值:** 1282 1283| 类型 | 说明 | 1284| ----------------------------------------------- | --------------------------------------- | 1285| Promise<Array<[Contact](#contact)>> | Promise对象。返回选择的联系人数组对象。 | 1286 1287**示例:** 1288 1289 ```js 1290 import { BusinessError } from '@kit.BasicServicesKit'; 1291 let promise = contact.selectContact(); 1292 promise.then((data) => { 1293 console.info(`Succeeded in selecting Contact. data->${JSON.stringify(data)}`); 1294 }).catch((err: BusinessError) => { 1295 console.error(`Failed to select Contact. Code: ${err.code}, message: ${err.message}`); 1296 }); 1297 ``` 1298 1299## contact.selectContacts<sup>10+</sup> 1300 1301selectContacts(callback: AsyncCallback<Array<Contact>>): void 1302 1303调用选择联系人接口,打开选择联系人UI界面,选定的联系人使用callback方式作为异步方法。 1304 1305**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1306 1307**系统能力**:SystemCapability.Applications.Contacts 1308 1309**参数:** 1310 1311| 参数名 | 类型 | 必填 | 说明 | 1312| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 1313| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回选择的联系人对象数组;失败返回失败的错误码。 | 1314 1315**错误码:** 1316 1317以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1318 1319| 错误码ID | 错误信息 | 1320| -------- | ------------------ | 1321| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1322 1323**示例:** 1324 1325 ```js 1326 import { BusinessError } from '@kit.BasicServicesKit'; 1327 contact.selectContacts((err: BusinessError, data) => { 1328 if (err) { 1329 console.error(`Failed to select Contacts. Code: ${err.code}, message: ${err.message}`); 1330 return; 1331 } 1332 console.info(`Succeeded in selecting Contacts. data->${JSON.stringify(data)}`); 1333 }); 1334 ``` 1335 1336## contact.selectContacts<sup>10+</sup> 1337 1338selectContacts(): Promise<Array<Contact>> 1339 1340调用选择联系人接口,打开选择联系人UI界面,选定的联系人使用Promise方式作为异步方法。 1341 1342**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1343 1344**系统能力**:SystemCapability.Applications.Contacts 1345 1346**返回值:** 1347 1348| 类型 | 说明 | 1349| ----------------------------------------------- | --------------------------------------- | 1350| Promise<Array<[Contact](#contact)>> | Promise对象。返回选择的联系人数组对象。 | 1351 1352 1353**示例:** 1354 1355 ```js 1356 import { BusinessError } from '@kit.BasicServicesKit'; 1357 let promise = contact.selectContacts(); 1358 promise.then((data) => { 1359 console.info(`Succeeded in selecting Contacts. data->${JSON.stringify(data)}`); 1360 }).catch((err: BusinessError) => { 1361 console.error(`Failed to select Contacts. Code: ${err.code}, message: ${err.message}`); 1362 }); 1363 ``` 1364 1365## contact.selectContacts<sup>10+</sup> 1366 1367selectContacts(options: ContactSelectionOptions, callback: AsyncCallback<Array<Contact>>): void 1368 1369调用选择联系人接口,打开选择联系人UI界面,选定的联系人使用callback方式作为异步方法。 1370 1371**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1372 1373**系统能力**:SystemCapability.Applications.Contacts 1374 1375**参数:** 1376 1377| 参数名 | 类型 | 必填 | 说明 | 1378| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | 1379| options | [ContactSelectionOptions](#contactselectionoptions10) | 是 | 选择联系人时的筛选条件 | 1380| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回选择的联系人对象数组;失败返回失败的错误码。 | 1381 1382**错误码:** 1383 1384以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1385 1386| 错误码ID | 错误信息 | 1387| -------- | ------------------ | 1388| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1389 1390**示例:** 1391 1392 ```js 1393 import { BusinessError } from '@kit.BasicServicesKit'; 1394 contact.selectContacts({ 1395 isMultiSelect:false 1396 }, (err: BusinessError, data) => { 1397 if (err) { 1398 console.error(`Failed to select Contacts. Code: ${err.code}, message: ${err.message}`); 1399 return; 1400 } 1401 console.info(`Succeeded in selecting Contacts. data->${JSON.stringify(data)}`); 1402 }); 1403 ``` 1404 1405## contact.selectContacts<sup>10+</sup> 1406 1407selectContacts(options: ContactSelectionOptions): Promise<Array<Contact>> 1408 1409调用选择联系人接口,打开选择联系人UI界面,选定的联系人使用Promise方式作为异步方法。 1410 1411**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 1412 1413**系统能力**:SystemCapability.Applications.Contacts 1414 1415**参数:** 1416 1417| 参数名 | 类型 | 必填 | 说明 | 1418| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | 1419| options | [ContactSelectionOptions](#contactselectionoptions10) | 是 | 选择联系人时的筛选条件 | 1420 1421**返回值:** 1422 1423| 类型 | 说明 | 1424| ----------------------------------------------- | --------------------------------------- | 1425| Promise<Array<[Contact](#contact)>> | Promise对象。返回选择的联系人数组对象。 | 1426 1427**错误码:** 1428 1429以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1430 1431| 错误码ID | 错误信息 | 1432| -------- | ------------------ | 1433| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1434 1435**示例:** 1436 1437 ```js 1438 import { BusinessError } from '@kit.BasicServicesKit'; 1439 let promise = contact.selectContacts({isMultiSelect:false}); 1440 promise.then((data) => { 1441 console.info(`Succeeded in selecting Contacts. data->${JSON.stringify(data)}`); 1442 }).catch((err: BusinessError) => { 1443 console.error(`Failed to select Contacts. Code: ${err.code}, message: ${err.message}`); 1444 }); 1445 ``` 1446 1447## contact.queryContact<sup>10+</sup> 1448 1449queryContact(context: Context, key: string, callback: AsyncCallback<Contact>): void 1450 1451根据key查询联系人,使用callback方式作为异步方法。 1452 1453**需要权限**:ohos.permission.READ_CONTACTS 1454 1455**系统能力**:SystemCapability.Applications.ContactsData 1456 1457**参数:** 1458 1459| 参数名 | 类型 | 必填 | 说明 | 1460| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1461| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1462| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1463| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1464 1465**错误码:** 1466 1467以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1468 1469| 错误码ID | 错误信息 | 1470| -------- | ------------------ | 1471| 201 | Permission denied. | 1472| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1473 1474**示例:** 1475 1476 ```js 1477 import { BusinessError } from '@kit.BasicServicesKit'; 1478 // 获取context。 1479 let context = getContext(this) as Context; 1480 contact.queryContact(context, 'xxx', (err: BusinessError, data) => { 1481 if (err) { 1482 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1483 return; 1484 } 1485 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1486 }); 1487 ``` 1488 1489## contact.queryContact<sup>(deprecated)7+</sup> 1490 1491queryContact(key: string, callback: AsyncCallback<Contact>): void 1492 1493根据key查询联系人,使用callback方式作为异步方法。 1494 1495> **说明** 1496> 1497> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContact](#contactquerycontact10)替代。 1498 1499**需要权限**:ohos.permission.READ_CONTACTS 1500 1501**系统能力**:SystemCapability.Applications.ContactsData 1502 1503**参数:** 1504 1505| 参数名 | 类型 | 必填 | 说明 | 1506| -------- | ---------------------------------------- | ---- | ---------------------------------------------------------- | 1507| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1508| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1509 1510**示例:** 1511 1512 ```js 1513 import { BusinessError } from '@kit.BasicServicesKit'; 1514 contact.queryContact('xxx', (err: BusinessError, data) => { 1515 if (err) { 1516 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1517 return; 1518 } 1519 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1520 }); 1521 ``` 1522 1523 1524## contact.queryContact<sup>10+</sup> 1525 1526queryContact(context: Context, key: string, holder: Holder, callback: AsyncCallback<Contact>): void 1527 1528根据key和holder查询联系人,使用callback方式作为异步方法。 1529 1530**需要权限**:ohos.permission.READ_CONTACTS 1531 1532**系统能力**:SystemCapability.Applications.ContactsData 1533 1534**参数:** 1535 1536| 参数名 | 类型 | 必填 | 说明 | 1537| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1538| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1539| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1540| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1541| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1542 1543**错误码:** 1544 1545以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1546 1547| 错误码ID | 错误信息 | 1548| -------- | ------------------ | 1549| 201 | Permission denied. | 1550| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1551 1552**示例:** 1553 1554 ```js 1555 import { BusinessError } from '@kit.BasicServicesKit'; 1556 // 获取context。 1557 let context = getContext(this) as Context; 1558 contact.queryContact(context, 'xxx', { 1559 holderId: 1, 1560 bundleName: "", 1561 displayName: "" 1562 }, (err: BusinessError, data) => { 1563 if (err) { 1564 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1565 return; 1566 } 1567 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1568 }); 1569 ``` 1570 1571## contact.queryContact<sup>(deprecated)7+</sup> 1572 1573queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void 1574 1575根据key和holder查询联系人,使用callback方式作为异步方法。 1576 1577> **说明** 1578> 1579> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContact](#contactquerycontact10-1)替代。 1580 1581**需要权限**:ohos.permission.READ_CONTACTS 1582 1583**系统能力**:SystemCapability.Applications.ContactsData 1584 1585**参数:** 1586 1587| 参数名 | 类型 | 必填 | 说明 | 1588| -------- | ---------------------------------------- | ---- | ---------------------------------------------------------- | 1589| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1590| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1591| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1592 1593**示例:** 1594 1595 ```js 1596 import { BusinessError } from '@kit.BasicServicesKit'; 1597 contact.queryContact('xxx', { 1598 holderId: 1, 1599 bundleName: "", 1600 displayName: "" 1601 }, (err: BusinessError, data) => { 1602 if (err) { 1603 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1604 return; 1605 } 1606 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1607 }); 1608 ``` 1609 1610## contact.queryContact<sup>10+</sup> 1611 1612queryContact(context: Context, key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 1613 1614根据key和attrs查询联系人,使用callback方式作为异步方法。 1615 1616**需要权限**:ohos.permission.READ_CONTACTS 1617 1618**系统能力**:SystemCapability.Applications.ContactsData 1619 1620**参数:** 1621 1622| 参数名 | 类型 | 必填 | 说明 | 1623| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1624| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1625| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1626| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1627| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1628 1629**错误码:** 1630 1631以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1632 1633| 错误码ID | 错误信息 | 1634| -------- | ------------------ | 1635| 201 | Permission denied. | 1636| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1637 1638**示例:** 1639 1640 ```js 1641 import { BusinessError } from '@kit.BasicServicesKit'; 1642 // 获取context。 1643 let context = getContext(this) as Context; 1644 contact.queryContact(context, 'xxx', { 1645 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1646 }, (err: BusinessError, data) => { 1647 if (err) { 1648 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1649 return; 1650 } 1651 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1652 }); 1653 ``` 1654 1655## contact.queryContact<sup>(deprecated)7+</sup> 1656 1657queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 1658 1659根据key和attrs查询联系人,使用callback方式作为异步方法。 1660 1661> **说明** 1662> 1663> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContact](#contactquerycontact10-2)替代。 1664 1665**需要权限**:ohos.permission.READ_CONTACTS 1666 1667**系统能力**:SystemCapability.Applications.ContactsData 1668 1669**参数:** 1670 1671| 参数名 | 类型 | 必填 | 说明 | 1672| -------- | ---------------------------------------- | ---- | ---------------------------------------------------------- | 1673| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1674| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1675| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1676 1677**示例:** 1678 1679 ```js 1680 import { BusinessError } from '@kit.BasicServicesKit'; 1681 contact.queryContact('xxx', { 1682 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1683 }, (err: BusinessError, data) => { 1684 if (err) { 1685 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1686 return; 1687 } 1688 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1689 }); 1690 ``` 1691 1692## contact.queryContact<sup>10+</sup> 1693 1694queryContact(context: Context, key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 1695 1696根据key、holder和attrs查询联系人,使用callback方式作为异步方法。 1697 1698**需要权限**:ohos.permission.READ_CONTACTS 1699 1700**系统能力**:SystemCapability.Applications.ContactsData 1701 1702**参数:** 1703 1704| 参数名 | 类型 | 必填 | 说明 | 1705| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | 1706| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1707| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1708| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1709| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1710| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1711 1712**错误码:** 1713 1714以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1715 1716| 错误码ID | 错误信息 | 1717| -------- | ------------------ | 1718| 201 | Permission denied. | 1719| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1720 1721**示例:** 1722 1723```js 1724 import { BusinessError } from '@kit.BasicServicesKit'; 1725 // 获取context。 1726 let context = getContext(this) as Context; 1727 contact.queryContact(context, 'xxx', { 1728 holderId: 1, 1729 bundleName: "", 1730 displayName: "" 1731 }, { 1732 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1733 }, (err: BusinessError, data) => { 1734 if (err) { 1735 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1736 return; 1737 } 1738 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1739 }); 1740``` 1741 1742## contact.queryContact<sup>(deprecated)7+</sup> 1743 1744queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 1745 1746根据key、holder和attrs查询联系人,使用callback方式作为异步方法。 1747 1748> **说明** 1749> 1750> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContact](#contactquerycontact10-3)替代。 1751 1752**需要权限**:ohos.permission.READ_CONTACTS 1753 1754**系统能力**:SystemCapability.Applications.ContactsData 1755 1756**参数:** 1757 1758| 参数名 | 类型 | 必填 | 说明 | 1759| -------- | ---------------------------------------- | ---- | ---------------------------------------------------------- | 1760| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1761| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1762| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1763| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数。成功返回查询的联系人对象;失败返回失败的错误码。 | 1764 1765**示例:** 1766 1767 ```js 1768 import { BusinessError } from '@kit.BasicServicesKit'; 1769 contact.queryContact('xxx', { 1770 holderId: 1, 1771 bundleName: "", 1772 displayName: "" 1773 }, { 1774 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1775 }, (err: BusinessError, data) => { 1776 if (err) { 1777 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1778 return; 1779 } 1780 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1781 }); 1782 ``` 1783 1784 1785## contact.queryContact<sup>10+</sup> 1786 1787queryContact(context: Context, key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact> 1788 1789根据key、holder和attrs查询联系人,使用Promise方式作为异步方法。 1790 1791**需要权限**:ohos.permission.READ_CONTACTS 1792 1793**系统能力**:SystemCapability.Applications.ContactsData 1794 1795**参数:** 1796 1797| 参数名 | 类型 | 必填 | 说明 | 1798| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 1799| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1800| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1801| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 1802| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 1803 1804**返回值:** 1805 1806| 类型 | 说明 | 1807| ---------------------------------- | ------------------------------------- | 1808| Promise<[Contact](#contact)> | Promise对象。返回查询到的联系人对象。 | 1809 1810**错误码:** 1811 1812以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1813 1814| 错误码ID | 错误信息 | 1815| -------- | ------------------ | 1816| 201 | Permission denied. | 1817| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1818 1819**示例:** 1820 1821 ```js 1822 import { BusinessError } from '@kit.BasicServicesKit'; 1823 // 获取context。 1824 let context = getContext(this) as Context; 1825 let promise = contact.queryContact(context, 'xxx', { 1826 holderId: 1, 1827 bundleName: "", 1828 displayName: "" 1829 }, { 1830 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1831 }); 1832 promise.then((data) => { 1833 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1834 }).catch((err: BusinessError) => { 1835 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1836 }); 1837 ``` 1838 1839## contact.queryContact<sup>(deprecated)7+</sup> 1840 1841queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact> 1842 1843根据key、holder和attrs查询联系人,使用Promise方式作为异步方法。 1844 1845> **说明** 1846> 1847> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContact](#contactquerycontact10-4)替代。 1848 1849**需要权限**:ohos.permission.READ_CONTACTS 1850 1851**系统能力**:SystemCapability.Applications.ContactsData 1852 1853**参数:** 1854 1855| 参数名 | 类型 | 必填 | 说明 | 1856| ------ | --------------------------------------- | ---- | -------------------------------------- | 1857| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 1858| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 1859| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 1860 1861**返回值:** 1862 1863| 类型 | 说明 | 1864| ---------------------------------- | ------------------------------------- | 1865| Promise<[Contact](#contact)> | Promise对象。返回查询到的联系人对象。 | 1866 1867**示例:** 1868 1869 ```js 1870 import { BusinessError } from '@kit.BasicServicesKit'; 1871 let promise = contact.queryContact('xxx', { 1872 holderId: 1, 1873 bundleName: "", 1874 displayName: "" 1875 }, { 1876 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 1877 }); 1878 promise.then((data) => { 1879 console.info(`Succeeded in querying Contact. data->${JSON.stringify(data)}`); 1880 }).catch((err: BusinessError) => { 1881 console.error(`Failed to query Contact. Code: ${err.code}, message: ${err.message}`); 1882 }); 1883 ``` 1884 1885## contact.queryContacts<sup>10+</sup> 1886 1887queryContacts(context: Context, callback: AsyncCallback<Array<Contact>>): void 1888 1889查询所有联系人,使用callback方式作为异步方法。 1890 1891**需要权限**:ohos.permission.READ_CONTACTS 1892 1893**系统能力**:SystemCapability.Applications.ContactsData 1894 1895**参数:** 1896 1897| 参数名 | 类型 | 必填 | 说明 | 1898| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 1899| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1900| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 1901 1902**错误码:** 1903 1904以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1905 1906| 错误码ID | 错误信息 | 1907| -------- | ------------------ | 1908| 201 | Permission denied. | 1909| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1910 1911**示例:** 1912 1913 ```js 1914 import { BusinessError } from '@kit.BasicServicesKit'; 1915 // 获取context。 1916 let context = getContext(this) as Context; 1917 contact.queryContacts(context, (err: BusinessError, data) => { 1918 if (err) { 1919 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 1920 return; 1921 } 1922 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 1923 }); 1924 ``` 1925 1926## contact.queryContacts<sup>(deprecated)7+</sup> 1927 1928queryContacts(callback: AsyncCallback<Array<Contact>>): void 1929 1930查询所有联系人,使用callback方式作为异步方法。 1931 1932> **说明** 1933> 1934> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10)替代。 1935 1936**需要权限**:ohos.permission.READ_CONTACTS 1937 1938**系统能力**:SystemCapability.Applications.ContactsData 1939 1940**参数:** 1941 1942| 参数名 | 类型 | 必填 | 说明 | 1943| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 1944| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 1945 1946**示例:** 1947 1948 ```js 1949 import { BusinessError } from '@kit.BasicServicesKit'; 1950 contact.queryContacts((err: BusinessError, data) => { 1951 if (err) { 1952 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 1953 return; 1954 } 1955 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 1956 }); 1957 ``` 1958 1959## contact.queryContacts<sup>10+</sup> 1960 1961queryContacts(context: Context, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 1962 1963根据holder查询所有联系人,使用callback方式作为异步方法。 1964 1965**需要权限**:ohos.permission.READ_CONTACTS 1966 1967**系统能力**:SystemCapability.Applications.ContactsData 1968 1969**参数:** 1970 1971| 参数名 | 类型 | 必填 | 说明 | 1972| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 1973| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 1974| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1975| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 1976 1977**错误码:** 1978 1979以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 1980 1981| 错误码ID | 错误信息 | 1982| -------- | ------------------ | 1983| 201 | Permission denied. | 1984| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 1985 1986**示例:** 1987 1988 ```js 1989 import { BusinessError } from '@kit.BasicServicesKit'; 1990 // 获取context。 1991 let context = getContext(this) as Context; 1992 contact.queryContacts(context, { 1993 holderId: 1, 1994 bundleName: "", 1995 displayName: "" 1996 }, (err: BusinessError, data) => { 1997 if (err) { 1998 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 1999 return; 2000 } 2001 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2002 }); 2003 ``` 2004 2005## contact.queryContacts<sup>(deprecated)7+</sup> 2006 2007queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void 2008 2009根据holder查询所有联系人,使用callback方式作为异步方法。 2010 2011> **说明** 2012> 2013> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10-1)替代。 2014 2015**需要权限**:ohos.permission.READ_CONTACTS 2016 2017**系统能力**:SystemCapability.Applications.ContactsData 2018 2019**参数:** 2020 2021| 参数名 | 类型 | 必填 | 说明 | 2022| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2023| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2024| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2025 2026**示例:** 2027 2028 ```js 2029 import { BusinessError } from '@kit.BasicServicesKit'; 2030 contact.queryContacts({ 2031 holderId: 1, 2032 bundleName: "", 2033 displayName: "" 2034 }, (err: BusinessError, data) => { 2035 if (err) { 2036 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2037 return; 2038 } 2039 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2040 }); 2041 ``` 2042 2043## contact.queryContacts<sup>10+</sup> 2044 2045queryContacts(context: Context, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2046 2047根据attrs查询所有联系人,使用callback方式作为异步方法。 2048 2049**需要权限**:ohos.permission.READ_CONTACTS 2050 2051**系统能力**:SystemCapability.Applications.ContactsData 2052 2053**参数:** 2054 2055| 参数名 | 类型 | 必填 | 说明 | 2056| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2057| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2058| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2059| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2060 2061**错误码:** 2062 2063以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2064 2065| 错误码ID | 错误信息 | 2066| -------- | ------------------ | 2067| 201 | Permission denied. | 2068| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2069 2070**示例:** 2071 2072 ```js 2073 import { BusinessError } from '@kit.BasicServicesKit'; 2074 // 获取context。 2075 let context = getContext(this) as Context; 2076 contact.queryContacts(context, { 2077 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2078 }, (err: BusinessError, data) => { 2079 if (err) { 2080 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2081 return; 2082 } 2083 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2084 }); 2085 ``` 2086 2087## contact.queryContacts<sup>(deprecated)7+</sup> 2088 2089queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2090 2091根据attrs查询所有联系人,使用callback方式作为异步方法。 2092 2093> **说明** 2094> 2095> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10-2)替代。 2096 2097**需要权限**:ohos.permission.READ_CONTACTS 2098 2099**系统能力**:SystemCapability.Applications.ContactsData 2100 2101**参数:** 2102 2103| 参数名 | 类型 | 必填 | 说明 | 2104| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2105| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2106| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2107 2108**示例:** 2109 2110 ```js 2111 import { BusinessError } from '@kit.BasicServicesKit'; 2112 contact.queryContacts({ 2113 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2114 }, (err: BusinessError, data) => { 2115 if (err) { 2116 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2117 return; 2118 } 2119 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2120 }); 2121 ``` 2122 2123## contact.queryContacts<sup>10+</sup> 2124 2125queryContacts(context: Context, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2126 2127根据holder和attrs查询所有联系人,使用callback方式作为异步方法。 2128 2129**需要权限**:ohos.permission.READ_CONTACTS 2130 2131**系统能力**:SystemCapability.Applications.ContactsData 2132 2133**参数:** 2134 2135| 参数名 | 类型 | 必填 | 说明 | 2136| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2137| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2138| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2139| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2140| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2141 2142**错误码:** 2143 2144以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2145 2146| 错误码ID | 错误信息 | 2147| -------- | ------------------ | 2148| 201 | Permission denied. | 2149| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2150 2151**示例:** 2152 2153 ```js 2154 import { BusinessError } from '@kit.BasicServicesKit'; 2155 // 获取context。 2156 let context = getContext(this) as Context; 2157 contact.queryContacts(context, { 2158 holderId: 1, 2159 bundleName: "", 2160 displayName: "" 2161 }, { 2162 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2163 }, (err: BusinessError, data) => { 2164 if (err) { 2165 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2166 return; 2167 } 2168 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2169 }); 2170 ``` 2171 2172## contact.queryContacts<sup>(deprecated)7+</sup> 2173 2174queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2175 2176根据holder和attrs查询所有联系人,使用callback方式作为异步方法。 2177 2178> **说明** 2179> 2180> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10-3)替代。 2181 2182**需要权限**:ohos.permission.READ_CONTACTS 2183 2184**系统能力**:SystemCapability.Applications.ContactsData 2185 2186**参数:** 2187 2188| 参数名 | 类型 | 必填 | 说明 | 2189| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2190| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2191| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2192| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2193 2194**示例:** 2195 2196 ```js 2197 import { BusinessError } from '@kit.BasicServicesKit'; 2198 contact.queryContacts({ 2199 holderId: 1, 2200 bundleName: "", 2201 displayName: "" 2202 }, { 2203 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2204 }, (err: BusinessError, data) => { 2205 if (err) { 2206 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2207 return; 2208 } 2209 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2210 }); 2211 ``` 2212 2213## contact.queryContacts<sup>10+</sup> 2214 2215queryContacts(context: Context, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 2216 2217根据holder和attrs查询所有联系人,使用Promise方式作为异步方法。 2218 2219**需要权限**:ohos.permission.READ_CONTACTS 2220 2221**系统能力**:SystemCapability.Applications.ContactsData 2222 2223**参数:** 2224 2225| 参数名 | 类型 | 必填 | 说明 | 2226| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 2227| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2228| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 2229| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 2230 2231**返回值:** 2232 2233| 类型 | 说明 | 2234| ----------------------------------------------- | ----------------------------------------- | 2235| Promise<Array<[Contact](#contact)>> | Promise对象。返回查询到的联系人数组对象。 | 2236 2237**错误码:** 2238 2239以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2240 2241| 错误码ID | 错误信息 | 2242| -------- | ------------------ | 2243| 201 | Permission denied. | 2244| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2245 2246**示例:** 2247 2248 ```js 2249 import { BusinessError } from '@kit.BasicServicesKit'; 2250 // 获取context。 2251 let context = getContext(this) as Context; 2252 let promise = contact.queryContacts(context, { 2253 holderId: 1, 2254 bundleName: "", 2255 displayName: "" 2256 }, { 2257 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2258 }); 2259 promise.then((data) => { 2260 console.info(`Succeeded in querying Contacts. data: ${JSON.stringify(data)}`); 2261 }).catch((err: BusinessError) => { 2262 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2263 }); 2264 ``` 2265 2266## contact.queryContacts<sup>(deprecated)7+</sup> 2267 2268queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 2269 2270根据holder和attrs查询所有联系人,使用Promise方式作为异步方法。 2271 2272> **说明** 2273> 2274> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10-4)替代。 2275 2276**需要权限**:ohos.permission.READ_CONTACTS 2277 2278**系统能力**:SystemCapability.Applications.ContactsData 2279 2280**参数:** 2281 2282| 参数名 | 类型 | 必填 | 说明 | 2283| ------ | --------------------------------------- | ---- | ---------------------- | 2284| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 2285| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 2286 2287**返回值:** 2288 2289| 类型 | 说明 | 2290| ----------------------------------------------- | ----------------------------------------- | 2291| Promise<Array<[Contact](#contact)>> | Promise对象。返回查询到的联系人数组对象。 | 2292 2293**示例:** 2294 2295```js 2296 import { BusinessError } from '@kit.BasicServicesKit'; 2297 let promise = contact.queryContacts({ 2298 holderId: 1, 2299 bundleName: "", 2300 displayName: "" 2301 }, { 2302 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2303 }); 2304 promise.then((data) => { 2305 console.info(`Succeeded in querying Contacts. data->${JSON.stringify(data)}`); 2306 }).catch((err: BusinessError) => { 2307 console.error(`Failed to query Contacts. Code: ${err.code}, message: ${err.message}`); 2308 }); 2309``` 2310 2311## contact.queryContactsByPhoneNumber<sup>10+</sup> 2312 2313queryContactsByPhoneNumber(context: Context, phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void 2314 2315根据电话号码查询联系人,使用callback方式作为异步方法。 2316 2317**需要权限**:ohos.permission.READ_CONTACTS 2318 2319**系统能力**:SystemCapability.Applications.ContactsData 2320 2321**参数:** 2322 2323| 参数名 | 类型 | 必填 | 说明 | 2324| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2325| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2326| phoneNumber | string | 是 | 联系人的电话号码。 | 2327| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2328 2329**错误码:** 2330 2331以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2332 2333| 错误码ID | 错误信息 | 2334| -------- | ------------------ | 2335| 201 | Permission denied. | 2336| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2337 2338**示例:** 2339 2340 ```js 2341 import { BusinessError } from '@kit.BasicServicesKit'; 2342 // 获取context。 2343 let context = getContext(this) as Context; 2344 contact.queryContactsByPhoneNumber(context, '138xxxxxxxx', (err: BusinessError, data) => { 2345 if (err) { 2346 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2347 return; 2348 } 2349 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2350 }); 2351 ``` 2352 2353## contact.queryContactsByPhoneNumber<sup>(deprecated)7+</sup> 2354 2355queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void 2356 2357根据电话号码查询联系人,使用callback方式作为异步方法。 2358 2359> **说明** 2360> 2361> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10)替代。 2362 2363**需要权限**:ohos.permission.READ_CONTACTS 2364 2365**系统能力**:SystemCapability.Applications.ContactsData 2366 2367**参数:** 2368 2369| 参数名 | 类型 | 必填 | 说明 | 2370| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2371| phoneNumber | string | 是 | 联系人的电话号码。 | 2372| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2373 2374**示例:** 2375 2376 ```js 2377 import { BusinessError } from '@kit.BasicServicesKit'; 2378 contact.queryContactsByPhoneNumber('138xxxxxxxx', (err: BusinessError, data) => { 2379 if (err) { 2380 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2381 return; 2382 } 2383 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2384 }); 2385 ``` 2386 2387 2388## contact.queryContactsByPhoneNumber<sup>10+</sup> 2389 2390queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 2391 2392根据电话号码和holder查询联系人,使用callback方式作为异步方法。 2393 2394**需要权限**:ohos.permission.READ_CONTACTS 2395 2396**系统能力**:SystemCapability.Applications.ContactsData 2397 2398**参数:** 2399 2400| 参数名 | 类型 | 必填 | 说明 | 2401| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2402| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2403| phoneNumber | string | 是 | 联系人的电话号码。 | 2404| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2405| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2406 2407**错误码:** 2408 2409以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2410 2411| 错误码ID | 错误信息 | 2412| -------- | ------------------ | 2413| 201 | Permission denied. | 2414| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2415 2416**示例:** 2417 2418 ```js 2419 import { BusinessError } from '@kit.BasicServicesKit'; 2420 // 获取context。 2421 let context = getContext(this) as Context; 2422 contact.queryContactsByPhoneNumber(context, '138xxxxxxxx', { 2423 holderId: 1, 2424 bundleName: "", 2425 displayName: "" 2426 }, (err: BusinessError, data) => { 2427 if (err) { 2428 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2429 return; 2430 } 2431 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2432 }); 2433 ``` 2434 2435## contact.queryContactsByPhoneNumber<sup>(deprecated)7+</sup> 2436 2437queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 2438 2439根据电话号码和holder查询联系人,使用callback方式作为异步方法。 2440 2441> **说明** 2442> 2443> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10-1)替代。 2444 2445**需要权限**:ohos.permission.READ_CONTACTS 2446 2447**系统能力**:SystemCapability.Applications.ContactsData 2448 2449**参数:** 2450 2451| 参数名 | 类型 | 必填 | 说明 | 2452| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2453| phoneNumber | string | 是 | 联系人的电话号码。 | 2454| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2455| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2456 2457**示例:** 2458 2459 ```js 2460 import { BusinessError } from '@kit.BasicServicesKit'; 2461 contact.queryContactsByPhoneNumber('138xxxxxxxx', { 2462 holderId: 1, 2463 bundleName: "", 2464 displayName: "" 2465 }, (err: BusinessError, data) => { 2466 if (err) { 2467 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2468 return; 2469 } 2470 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2471 }); 2472 ``` 2473 2474## contact.queryContactsByPhoneNumber<sup>10+</sup> 2475 2476queryContactsByPhoneNumber(context: Context, phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2477 2478根据电话号码和attrs查询联系人,使用callback方式作为异步方法。 2479 2480**需要权限**:ohos.permission.READ_CONTACTS 2481 2482**系统能力**:SystemCapability.Applications.ContactsData 2483 2484**参数:** 2485 2486| 参数名 | 类型 | 必填 | 说明 | 2487| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2488| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2489| phoneNumber | string | 是 | 联系人的电话号码。 | 2490| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2491| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2492 2493**错误码:** 2494 2495以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2496 2497| 错误码ID | 错误信息 | 2498| -------- | ------------------ | 2499| 201 | Permission denied. | 2500| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2501 2502**示例:** 2503 2504 ```js 2505 import { BusinessError } from '@kit.BasicServicesKit'; 2506 // 获取context。 2507 let context = getContext(this) as Context; 2508 contact.queryContactsByPhoneNumber(context, '138xxxxxxxx', { 2509 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2510 }, (err: BusinessError, data) => { 2511 if (err) { 2512 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2513 return; 2514 } 2515 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2516 }); 2517 ``` 2518 2519## contact.queryContactsByPhoneNumber<sup>(deprecated)7+</sup> 2520 2521queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2522 2523根据电话号码和attrs查询联系人,使用callback方式作为异步方法。 2524 2525> **说明** 2526> 2527> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10-2)替代。 2528 2529**需要权限**:ohos.permission.READ_CONTACTS 2530 2531**系统能力**:SystemCapability.Applications.ContactsData 2532 2533**参数:** 2534 2535| 参数名 | 类型 | 必填 | 说明 | 2536| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2537| phoneNumber | string | 是 | 联系人的电话号码。 | 2538| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2539| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2540 2541**示例:** 2542 2543 ```js 2544 import { BusinessError } from '@kit.BasicServicesKit'; 2545 contact.queryContactsByPhoneNumber('138xxxxxxxx', { 2546 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2547 }, (err: BusinessError, data) => { 2548 if (err) { 2549 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2550 return; 2551 } 2552 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2553 }); 2554 ``` 2555 2556## contact.queryContactsByPhoneNumber<sup>10+</sup> 2557 2558queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2559 2560根据电话号码、holder和attrs查询联系人,使用callback方式作为异步方法。 2561 2562**需要权限**:ohos.permission.READ_CONTACTS 2563 2564**系统能力**:SystemCapability.Applications.ContactsData 2565 2566**参数:** 2567 2568| 参数名 | 类型 | 必填 | 说明 | 2569| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2570| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2571| phoneNumber | string | 是 | 联系人的电话号码。 | 2572| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2573| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2574| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2575 2576**错误码:** 2577 2578以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2579 2580| 错误码ID | 错误信息 | 2581| -------- | ------------------ | 2582| 201 | Permission denied. | 2583| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2584 2585**示例:** 2586 2587 ```js 2588 import { BusinessError } from '@kit.BasicServicesKit'; 2589 // 获取context。 2590 let context = getContext(this) as Context; 2591 contact.queryContactsByPhoneNumber(context, '138xxxxxxxx', { 2592 holderId: 1, 2593 bundleName: "", 2594 displayName: "" 2595 }, { 2596 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2597 }, (err: BusinessError, data) => { 2598 if (err) { 2599 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2600 return; 2601 } 2602 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2603 }); 2604 ``` 2605 2606## contact.queryContactsByPhoneNumber<sup>(deprecated)7+</sup> 2607 2608queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2609 2610根据电话号码、holder和attrs查询联系人,使用callback方式作为异步方法。 2611 2612> **说明** 2613> 2614> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10-3)替代。 2615 2616**需要权限**:ohos.permission.READ_CONTACTS 2617 2618**系统能力**:SystemCapability.Applications.ContactsData 2619 2620**参数:** 2621 2622| 参数名 | 类型 | 必填 | 说明 | 2623| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2624| phoneNumber | string | 是 | 联系人的电话号码。 | 2625| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2626| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2627| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2628 2629**示例:** 2630 2631 ```js 2632 import { BusinessError } from '@kit.BasicServicesKit'; 2633 contact.queryContactsByPhoneNumber('138xxxxxxxx', { 2634 holderId: 1, 2635 bundleName: "", 2636 displayName: "" 2637 }, { 2638 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2639 }, (err: BusinessError, data) => { 2640 if (err) { 2641 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2642 return; 2643 } 2644 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2645 }); 2646 ``` 2647 2648## contact.queryContactsByPhoneNumber<sup>10+</sup> 2649 2650queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 2651 2652根据电话号码、holder和attrs查询联系人,使用Promise方式作为异步方法。 2653 2654**需要权限**:ohos.permission.READ_CONTACTS 2655 2656**系统能力**:SystemCapability.Applications.ContactsData 2657 2658**参数:** 2659 2660| 参数名 | 类型 | 必填 | 说明 | 2661| ----------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 2662| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2663| phoneNumber | string | 是 | 联系人的电话号码。 | 2664| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 2665| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 2666 2667**返回值:** 2668 2669| 类型 | 说明 | 2670| ----------------------------------------------- | ----------------------------------------- | 2671| Promise<Array<[Contact](#contact)>> | Promise对象。返回查询到的联系人数组对象。 | 2672 2673**错误码:** 2674 2675以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2676 2677| 错误码ID | 错误信息 | 2678| -------- | ------------------ | 2679| 201 | Permission denied. | 2680| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2681 2682**示例:** 2683 2684 ```js 2685 import { BusinessError } from '@kit.BasicServicesKit'; 2686 // 获取context。 2687 let context = getContext(this) as Context; 2688 let promise = contact.queryContactsByPhoneNumber(context, '138xxxxxxxx', { 2689 holderId: 1, 2690 bundleName: "", 2691 displayName: "" 2692 }, { 2693 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2694 }); 2695 promise.then((data) => { 2696 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2697 }).catch((err: BusinessError) => { 2698 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2699 }); 2700 ``` 2701 2702## contact.queryContactsByPhoneNumber<sup>(deprecated)7+</sup> 2703 2704queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 2705 2706根据电话号码、holder和attrs查询联系人,使用Promise方式作为异步方法。 2707 2708> **说明** 2709> 2710> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10-4)替代。 2711 2712**需要权限**:ohos.permission.READ_CONTACTS 2713 2714**系统能力**:SystemCapability.Applications.ContactsData 2715 2716**参数:** 2717 2718| 参数名 | 类型 | 必填 | 说明 | 2719| ----------- | --------------------------------------- | ---- | ---------------------- | 2720| phoneNumber | string | 是 | 联系人的电话号码。 | 2721| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 2722| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 2723 2724**返回值:** 2725 2726| 类型 | 说明 | 2727| ----------------------------------------------- | ----------------------------------------- | 2728| Promise<Array<[Contact](#contact)>> | Promise对象。返回查询到的联系人数组对象。 | 2729 2730**示例:** 2731 2732 ```js 2733 import { BusinessError } from '@kit.BasicServicesKit'; 2734 let promise = contact.queryContactsByPhoneNumber('138xxxxxxxx', { 2735 holderId: 1, 2736 bundleName: "", 2737 displayName: "" 2738 }, { 2739 attributes: [contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE] 2740 }); 2741 promise.then((data) => { 2742 console.info(`Succeeded in querying Contacts By PhoneNumber. data->${JSON.stringify(data)}`); 2743 }).catch((err: BusinessError) => { 2744 console.error(`Failed to query Contacts By PhoneNumber. Code: ${err.code}, message: ${err.message}`); 2745 }); 2746 ``` 2747 2748## contact.queryContactsByEmail<sup>10+</sup> 2749 2750queryContactsByEmail(context: Context, email: string, callback: AsyncCallback<Array<Contact>>): void 2751 2752根据email查询联系人,使用callback方式作为异步方法。 2753 2754**需要权限**:ohos.permission.READ_CONTACTS 2755 2756**系统能力**:SystemCapability.Applications.ContactsData 2757 2758**参数:** 2759 2760| 参数名 | 类型 | 必填 | 说明 | 2761| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2762| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2763| email | string | 是 | 联系人的邮箱地址。 | 2764| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2765 2766**错误码:** 2767 2768以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2769 2770| 错误码ID | 错误信息 | 2771| -------- | ------------------ | 2772| 201 | Permission denied. | 2773| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2774 2775**示例:** 2776 2777 ```js 2778 import { BusinessError } from '@kit.BasicServicesKit'; 2779 // 获取context。 2780 let context = getContext(this) as Context; 2781 contact.queryContactsByEmail(context, 'xxx@email.com', (err: BusinessError, data) => { 2782 if (err) { 2783 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 2784 return; 2785 } 2786 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 2787 }); 2788 ``` 2789 2790## contact.queryContactsByEmail<sup>(deprecated)7+</sup> 2791 2792queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact>>): void 2793 2794根据email查询联系人,使用callback方式作为异步方法。 2795 2796> **说明** 2797> 2798> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10)替代。 2799 2800**需要权限**:ohos.permission.READ_CONTACTS 2801 2802**系统能力**:SystemCapability.Applications.ContactsData 2803 2804**参数:** 2805 2806| 参数名 | 类型 | 必填 | 说明 | 2807| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2808| email | string | 是 | 联系人的邮箱地址。 | 2809| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2810 2811**示例:** 2812 2813 ```js 2814 import { BusinessError } from '@kit.BasicServicesKit'; 2815 contact.queryContactsByEmail('xxx@email.com', (err: BusinessError, data) => { 2816 if (err) { 2817 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 2818 return; 2819 } 2820 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 2821 }); 2822 ``` 2823 2824## contact.queryContactsByEmail<sup>10+</sup> 2825 2826queryContactsByEmail(context: Context, email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 2827 2828根据email和holder查询联系人,使用callback方式作为异步方法。 2829 2830**需要权限**:ohos.permission.READ_CONTACTS 2831 2832**系统能力**:SystemCapability.Applications.ContactsData 2833 2834**参数:** 2835 2836| 参数名 | 类型 | 必填 | 说明 | 2837| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2838| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2839| email | string | 是 | 联系人的邮箱地址。 | 2840| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2841| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2842 2843**错误码:** 2844 2845以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2846 2847| 错误码ID | 错误信息 | 2848| -------- | ------------------ | 2849| 201 | Permission denied. | 2850| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2851 2852**示例:** 2853 2854 ```js 2855 import { BusinessError } from '@kit.BasicServicesKit'; 2856 // 获取context。 2857 let context = getContext(this) as Context; 2858 contact.queryContactsByEmail(context, 'xxx@email.com', { 2859 holderId: 1, 2860 bundleName: "", 2861 displayName: "" 2862 }, (err: BusinessError, data) => { 2863 if (err) { 2864 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 2865 return; 2866 } 2867 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 2868 }); 2869 ``` 2870 2871## contact.queryContactsByEmail<sup>(deprecated)7+</sup> 2872 2873queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 2874 2875根据email和holder查询联系人,使用callback方式作为异步方法。 2876 2877> **说明** 2878> 2879> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10-1)替代。 2880 2881**需要权限**:ohos.permission.READ_CONTACTS 2882 2883**系统能力**:SystemCapability.Applications.ContactsData 2884 2885**参数:** 2886 2887| 参数名 | 类型 | 必填 | 说明 | 2888| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2889| email | string | 是 | 联系人的邮箱地址。 | 2890| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 2891| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2892 2893**示例:** 2894 2895 ```js 2896 import { BusinessError } from '@kit.BasicServicesKit'; 2897 contact.queryContactsByEmail('xxx@email.com', { 2898 holderId: 1, 2899 bundleName: "", 2900 displayName: "" 2901 }, (err: BusinessError, data) => { 2902 if (err) { 2903 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 2904 return; 2905 } 2906 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 2907 }); 2908 ``` 2909 2910## contact.queryContactsByEmail<sup>10+</sup> 2911 2912queryContactsByEmail(context: Context, email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2913 2914根据email和attrs查询联系人,使用callback方式作为异步方法。 2915 2916**需要权限**:ohos.permission.READ_CONTACTS 2917 2918**系统能力**:SystemCapability.Applications.ContactsData 2919 2920**参数:** 2921 2922| 参数名 | 类型 | 必填 | 说明 | 2923| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2924| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 2925| email | string | 是 | 联系人的邮箱地址。 | 2926| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2927| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2928 2929**错误码:** 2930 2931以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 2932 2933| 错误码ID | 错误信息 | 2934| -------- | ------------------ | 2935| 201 | Permission denied. | 2936| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 2937 2938**示例:** 2939 2940 ```js 2941 import { BusinessError } from '@kit.BasicServicesKit'; 2942 // 获取context。 2943 let context = getContext(this) as Context; 2944 contact.queryContactsByEmail(context, 'xxx@email.com', { 2945 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 2946 }, (err: BusinessError, data) => { 2947 if (err) { 2948 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 2949 return; 2950 } 2951 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 2952 }); 2953 ``` 2954 2955## contact.queryContactsByEmail<sup>(deprecated)7+</sup> 2956 2957queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2958 2959根据email和attrs查询联系人,使用callback方式作为异步方法。 2960 2961> **说明** 2962> 2963> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10-2)替代。 2964 2965**需要权限**:ohos.permission.READ_CONTACTS 2966 2967**系统能力**:SystemCapability.Applications.ContactsData 2968 2969**参数:** 2970 2971| 参数名 | 类型 | 必填 | 说明 | 2972| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 2973| email | string | 是 | 联系人的邮箱地址。 | 2974| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 2975| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 2976 2977**示例:** 2978 2979 ```js 2980 import { BusinessError } from '@kit.BasicServicesKit'; 2981 contact.queryContactsByEmail('xxx@email.com', { 2982 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 2983 }, (err: BusinessError, data) => { 2984 if (err) { 2985 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 2986 return; 2987 } 2988 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 2989 }); 2990 ``` 2991 2992## contact.queryContactsByEmail<sup>10+</sup> 2993 2994queryContactsByEmail(context: Context, email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 2995 2996根据email、holder和attrs查询联系人,使用callback方式作为异步方法。 2997 2998**需要权限**:ohos.permission.READ_CONTACTS 2999 3000**系统能力**:SystemCapability.Applications.ContactsData 3001 3002**参数:** 3003 3004| 参数名 | 类型 | 必填 | 说明 | 3005| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 3006| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3007| email | string | 是 | 联系人的邮箱地址。 | 3008| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 3009| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 3010| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 3011 3012**错误码:** 3013 3014以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3015 3016| 错误码ID | 错误信息 | 3017| -------- | ------------------ | 3018| 201 | Permission denied. | 3019| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3020 3021**示例:** 3022 3023 ```js 3024 import { BusinessError } from '@kit.BasicServicesKit'; 3025 // 获取context。 3026 let context = getContext(this) as Context; 3027 contact.queryContactsByEmail(context, 'xxx@email.com', { 3028 holderId: 1, 3029 bundleName: "", 3030 displayName: "" 3031 }, { 3032 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 3033 }, (err: BusinessError, data) => { 3034 if (err) { 3035 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 3036 return; 3037 } 3038 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 3039 }); 3040 ``` 3041 3042## contact.queryContactsByEmail<sup>(deprecated)7+</sup> 3043 3044queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 3045 3046根据email、holder和attrs查询联系人,使用callback方式作为异步方法。 3047 3048> **说明** 3049> 3050> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10-3)替代。 3051 3052**需要权限**:ohos.permission.READ_CONTACTS 3053 3054**系统能力**:SystemCapability.Applications.ContactsData 3055 3056**参数:** 3057 3058| 参数名 | 类型 | 必填 | 说明 | 3059| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | 3060| email | string | 是 | 联系人的邮箱地址。 | 3061| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 3062| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 3063| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数。成功返回查询到的联系人对象数组;失败返回失败的错误码。 | 3064 3065**示例:** 3066 3067 ```js 3068 import { BusinessError } from '@kit.BasicServicesKit'; 3069 contact.queryContactsByEmail('xxx@email.com', { 3070 holderId: 1, 3071 bundleName: "", 3072 displayName: "" 3073 }, { 3074 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 3075 }, (err: BusinessError, data) => { 3076 if (err) { 3077 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 3078 return; 3079 } 3080 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 3081 }); 3082 ``` 3083 3084## contact.queryContactsByEmail<sup>10+</sup> 3085 3086queryContactsByEmail(context: Context, email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 3087 3088根据email、holder和attrs查询联系人,使用Promise方式作为异步方法。 3089 3090**需要权限**:ohos.permission.READ_CONTACTS 3091 3092**系统能力**:SystemCapability.Applications.ContactsData 3093 3094**参数:** 3095 3096| 参数名 | 类型 | 必填 | 说明 | 3097| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 3098| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3099| email | string | 是 | 联系人的邮箱地址。 | 3100| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 3101| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 3102 3103**返回值:** 3104 3105| 类型 | 说明 | 3106| ----------------------------------------------- | ----------------------------------------- | 3107| Promise<Array<[Contact](#contact)>> | Promise对象。返回查询到的联系人数组对象。 | 3108 3109**错误码:** 3110 3111以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3112 3113| 错误码ID | 错误信息 | 3114| -------- | ------------------ | 3115| 201 | Permission denied. | 3116| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3117 3118**示例:** 3119 3120 ```js 3121 import { BusinessError } from '@kit.BasicServicesKit'; 3122 // 获取context。 3123 let context = getContext(this) as Context; 3124 let promise = contact.queryContactsByEmail(context, 'xxx@email.com', { 3125 holderId: 1, 3126 bundleName: "", 3127 displayName: "" 3128 }, { 3129 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 3130 }); 3131 promise.then((data) => { 3132 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 3133 }).catch((err: BusinessError) => { 3134 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 3135 }); 3136 ``` 3137 3138## contact.queryContactsByEmail<sup>(deprecated)7+</sup> 3139 3140queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 3141 3142根据email、holder和attrs查询联系人,使用Promise方式作为异步方法。 3143 3144> **说明** 3145> 3146> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10-4)替代。 3147 3148**需要权限**:ohos.permission.READ_CONTACTS 3149 3150**系统能力**:SystemCapability.Applications.ContactsData 3151 3152**参数:** 3153 3154| 参数名 | 类型 | 必填 | 说明 | 3155| ------ | --------------------------------------- | ---- | ---------------------- | 3156| email | string | 是 | 联系人的邮箱地址。 | 3157| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 3158| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表,不传默认查询所有联系人属性。 | 3159 3160**返回值:** 3161 3162| 类型 | 说明 | 3163| ----------------------------------------------- | ----------------------------------------- | 3164| Promise<Array<[Contact](#contact)>> | Promise对象。返回查询到的联系人数组对象。 | 3165 3166**示例:** 3167 3168 ```js 3169 import { BusinessError } from '@kit.BasicServicesKit'; 3170 let promise = contact.queryContactsByEmail('xxx@email.com', { 3171 holderId: 1, 3172 bundleName: "", 3173 displayName: "" 3174 }, { 3175 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 3176 }); 3177 promise.then((data) => { 3178 console.info(`Succeeded in querying Contacts By Email. data->${JSON.stringify(data)}`); 3179 }).catch((err: BusinessError) => { 3180 console.error(`Failed to query Contacts By Email. Code: ${err.code}, message: ${err.message}`); 3181 }); 3182 ``` 3183 3184## contact.queryGroups<sup>10+</sup> 3185 3186queryGroups(context: Context, callback: AsyncCallback<Array<Group>>): void 3187 3188查询联系人的所有群组,使用callback方式作为异步方法。 3189 3190**需要权限**:ohos.permission.READ_CONTACTS 3191 3192**系统能力**:SystemCapability.Applications.ContactsData 3193 3194**参数:** 3195 3196| 参数名 | 类型 | 必填 | 说明 | 3197| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 3198| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3199| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数。成功返回查询到的群组对象数组;失败返回失败的错误码。 | 3200 3201**错误码:** 3202 3203以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3204 3205| 错误码ID | 错误信息 | 3206| -------- | ------------------ | 3207| 201 | Permission denied. | 3208| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3209 3210**示例:** 3211 3212 ```js 3213 import { BusinessError } from '@kit.BasicServicesKit'; 3214 // 获取context。 3215 let context = getContext(this) as Context; 3216 contact.queryGroups(context, (err: BusinessError, data) => { 3217 if (err) { 3218 console.error(`Failed to query Groups. Code: ${err.code}, message: ${err.message}`); 3219 return; 3220 } 3221 console.info(`Succeeded in querying Groups. data->${JSON.stringify(data)}`); 3222 }); 3223 ``` 3224 3225## contact.queryGroups<sup>(deprecated)7+</sup> 3226 3227queryGroups(callback: AsyncCallback<Array<Group>>): void 3228 3229查询联系人的所有群组,使用callback方式作为异步方法。 3230 3231> **说明** 3232> 3233> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryGroups](#contactquerygroups10)替代。 3234 3235**需要权限**:ohos.permission.READ_CONTACTS 3236 3237**系统能力**:SystemCapability.Applications.ContactsData 3238 3239**参数:** 3240 3241| 参数名 | 类型 | 必填 | 说明 | 3242| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 3243| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数。成功返回查询到的群组对象数组;失败返回失败的错误码。 | 3244 3245**示例:** 3246 3247 ```js 3248 import { BusinessError } from '@kit.BasicServicesKit'; 3249 contact.queryGroups((err: BusinessError, data) => { 3250 if (err) { 3251 console.error(`Failed to query Groups. Code: ${err.code}, message: ${err.message}`); 3252 return; 3253 } 3254 console.info(`Succeeded in querying Groups.. data->${JSON.stringify(data)}`); 3255 }); 3256 ``` 3257 3258## contact.queryGroups<sup>10+</sup> 3259 3260queryGroups(context: Context, holder: Holder, callback: AsyncCallback<Array<Group>>): void 3261 3262根据holder查询联系人的所有群组,使用callback方式作为异步方法。 3263 3264**需要权限**:ohos.permission.READ_CONTACTS 3265 3266**系统能力**:SystemCapability.Applications.ContactsData 3267 3268**参数:** 3269 3270| 参数名 | 类型 | 必填 | 说明 | 3271| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 3272| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3273| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 3274| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数。成功返回查询到的群组对象数组;失败返回失败的错误码。 | 3275 3276**错误码:** 3277 3278以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3279 3280| 错误码ID | 错误信息 | 3281| -------- | ------------------ | 3282| 201 | Permission denied. | 3283| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3284 3285**示例:** 3286 3287 ```js 3288 import { BusinessError } from '@kit.BasicServicesKit'; 3289 // 获取context。 3290 let context = getContext(this) as Context; 3291 contact.queryGroups(context, { 3292 holderId: 1, 3293 bundleName: "", 3294 displayName: "" 3295 }, (err: BusinessError, data) => { 3296 if (err) { 3297 console.error(`Failed to query Groups. Code: ${err.code}, message: ${err.message}`); 3298 return; 3299 } 3300 console.info(`Succeeded in querying Groups. data->${JSON.stringify(data)}`); 3301 }); 3302 ``` 3303 3304## contact.queryGroups<sup>(deprecated)7+</sup> 3305 3306queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): void 3307 3308根据holder查询联系人的所有群组,使用callback方式作为异步方法。 3309 3310> **说明** 3311> 3312> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryGroups](#contactquerygroups10-1)替代。 3313 3314**需要权限**:ohos.permission.READ_CONTACTS 3315 3316**系统能力**:SystemCapability.Applications.ContactsData 3317 3318**参数:** 3319 3320| 参数名 | 类型 | 必填 | 说明 | 3321| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | 3322| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 3323| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数。成功返回查询到的群组对象数组;失败返回失败的错误码。 | 3324 3325**示例:** 3326 3327 ```js 3328 import { BusinessError } from '@kit.BasicServicesKit'; 3329 contact.queryGroups({ 3330 holderId: 1, 3331 bundleName: "", 3332 displayName: "" 3333 }, (err: BusinessError, data) => { 3334 if (err) { 3335 console.error(`Failed to query Groups. Code: ${err.code}, message: ${err.message}`); 3336 return; 3337 } 3338 console.info(`Succeeded in querying Groups. data->${JSON.stringify(data)}`); 3339 }); 3340 ``` 3341 3342## contact.queryGroups<sup>10+</sup> 3343 3344queryGroups(context: Context, holder?: Holder): Promise<Array<Group>> 3345 3346根据holder查询联系人的所有群组,使用Promise方式作为异步方法。 3347 3348**需要权限**:ohos.permission.READ_CONTACTS 3349 3350**系统能力**:SystemCapability.Applications.ContactsData 3351 3352**参数:** 3353 3354| 参数名 | 类型 | 必填 | 说明 | 3355| ------- | ----------------- | ---- | ------------------------------------------------------------ | 3356| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3357| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人群组。 | 3358 3359**返回值:** 3360 3361| 类型 | 说明 | 3362| ------------------------------------------- | --------------------------------------- | 3363| Promise<Array<[Group](#group)>> | Promise对象。返回查询到的群组对象数组。 | 3364 3365**错误码:** 3366 3367以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3368 3369| 错误码ID | 错误信息 | 3370| -------- | ------------------ | 3371| 201 | Permission denied. | 3372| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3373 3374**示例:** 3375 3376 ```js 3377 import { BusinessError } from '@kit.BasicServicesKit'; 3378 // 获取context。 3379 let context = getContext(this) as Context; 3380 let promise = contact.queryGroups(context, { 3381 holderId: 1, 3382 bundleName: "", 3383 displayName: "" 3384 }); 3385 promise.then((data) => { 3386 console.info(`Succeeded in querying Groups. data->${JSON.stringify(data)}`); 3387 }).catch((err: BusinessError) => { 3388 console.error(`Failed to query Groups. Code: ${err.code}, message: ${err.message}`); 3389 }); 3390 ``` 3391 3392## contact.queryGroups<sup>(deprecated)7+</sup> 3393 3394queryGroups(holder?: Holder): Promise<Array<Group>> 3395 3396根据holder查询联系人的所有群组,使用Promise方式作为异步方法。 3397 3398> **说明** 3399> 3400> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryGroups](#contactquerygroups10-2)替代。 3401 3402**需要权限**:ohos.permission.READ_CONTACTS 3403 3404**系统能力**:SystemCapability.Applications.ContactsData 3405 3406**参数:** 3407 3408| 参数名 | 类型 | 必填 | 说明 | 3409| ------ | ----------------- | ---- | ---------------------- | 3410| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人群组。 | 3411 3412**返回值:** 3413 3414| 类型 | 说明 | 3415| ------------------------------------------- | --------------------------------------- | 3416| Promise<Array<[Group](#group)>> | Promise对象。返回查询到的群组对象数组。 | 3417 3418**示例:** 3419 3420 ```js 3421 import { BusinessError } from '@kit.BasicServicesKit'; 3422 let promise = contact.queryGroups({ 3423 holderId: 1, 3424 bundleName: "", 3425 displayName: "" 3426 }); 3427 promise.then((data) => { 3428 console.info(`Succeeded in querying Groups. data->${JSON.stringify(data)}`); 3429 }).catch((err: BusinessError) => { 3430 console.error(`Failed to query Groups. Code: ${err.code}, message: ${err.message}`); 3431 }); 3432 ``` 3433 3434## contact.queryHolders<sup>10+</sup> 3435 3436queryHolders(context: Context, callback: AsyncCallback<Array<Holder>>): void 3437 3438查询所有创建联系人的应用信息,使用callback方式作为异步方法。 3439 3440**需要权限**:ohos.permission.READ_CONTACTS 3441 3442**系统能力**:SystemCapability.Applications.ContactsData 3443 3444**参数:** 3445 3446| 参数名 | 类型 | 必填 | 说明 | 3447| -------- | --------------------------------------------------- | ---- | ------------------------------------------------------------ | 3448| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3449| callback | AsyncCallback<Array<[Holder](#holder)>> | 是 | 回调函数。成功返回查询到的创建联系人应用信息的对象数组;失败返回失败的错误码。 | 3450 3451**错误码:** 3452 3453以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3454 3455| 错误码ID | 错误信息 | 3456| -------- | ------------------ | 3457| 201 | Permission denied. | 3458| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3459 3460**示例:** 3461 3462 ```js 3463 import { BusinessError } from '@kit.BasicServicesKit'; 3464 // 获取context。 3465 let context = getContext(this) as Context; 3466 contact.queryHolders(context, (err: BusinessError, data) => { 3467 if (err) { 3468 console.error(`Failed to query Holders. Code: ${err.code}, message: ${err.message}`); 3469 return; 3470 } 3471 console.info(`Succeeded in querying Holders. data->${JSON.stringify(data)}`); 3472 }); 3473 ``` 3474 3475## contact.queryHolders<sup>(deprecated)7+</sup> 3476 3477queryHolders(callback: AsyncCallback<Array<Holder>>): void 3478 3479查询所有创建联系人的应用信息,使用callback方式作为异步方法。 3480 3481> **说明** 3482> 3483> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryHolders](#contactqueryholders10)替代。 3484 3485**需要权限**:ohos.permission.READ_CONTACTS 3486 3487**系统能力**:SystemCapability.Applications.ContactsData 3488 3489**参数:** 3490 3491| 参数名 | 类型 | 必填 | 说明 | 3492| -------- | --------------------------------------------------- | ---- | ------------------------------------------------------------ | 3493| callback | AsyncCallback<Array<[Holder](#holder)>> | 是 | 回调函数。成功返回查询到的创建联系人应用信息的对象数组;失败返回失败的错误码。 | 3494 3495**示例:** 3496 3497 ```js 3498 import { BusinessError } from '@kit.BasicServicesKit'; 3499 contact.queryHolders((err: BusinessError, data) => { 3500 if (err) { 3501 console.error(`Failed to query Holders. Code: ${err.code}, message: ${err.message}`); 3502 return; 3503 } 3504 console.info(`Succeeded in querying Holders. data->${JSON.stringify(data)}`); 3505 }); 3506 ``` 3507 3508## contact.queryHolders<sup>10+</sup> 3509 3510queryHolders(context: Context): Promise<Array<Holder>> 3511 3512查询所有创建联系人的应用信息,使用Promise方式作为异步方法。 3513 3514**需要权限**:ohos.permission.READ_CONTACTS 3515 3516**系统能力**:SystemCapability.Applications.ContactsData 3517 3518**参数:** 3519 3520| 参数名 | 类型 | 必填 | 说明 | 3521| ------- | ------- | ---- | ------------------------------------------------------------ | 3522| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3523 3524**返回值:** 3525 3526| 类型 | 说明 | 3527| --------------------------------------------- | ------------------------------------------------------- | 3528| Promise<Array<[Holder](#holder)>> | Promise对象。返回查询到的创建联系人应用信息的对象数组。 | 3529 3530**错误码:** 3531 3532以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3533 3534| 错误码ID | 错误信息 | 3535| -------- | ------------------ | 3536| 201 | Permission denied. | 3537| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3538 3539**示例:** 3540 3541 ```js 3542 import { BusinessError } from '@kit.BasicServicesKit'; 3543 // 获取context。 3544 let context = getContext(this) as Context; 3545 let promise = contact.queryHolders(context); 3546 promise.then((data) => { 3547 console.info(`Succeeded in querying Holders. data->${JSON.stringify(data)}`); 3548 }).catch((err: BusinessError) => { 3549 console.error(`Failed to query Holders. Code: ${err.code}, message: ${err.message}`); 3550 }); 3551 ``` 3552 3553## contact.queryHolders<sup>(deprecated)7+</sup> 3554 3555queryHolders(): Promise<Array<Holder>> 3556 3557查询所有创建联系人的应用信息,使用Promise方式作为异步方法。 3558 3559> **说明** 3560> 3561> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryHolders](#contactqueryholders10-1)替代。 3562 3563**需要权限**:ohos.permission.READ_CONTACTS 3564 3565**系统能力**:SystemCapability.Applications.ContactsData 3566 3567**返回值:** 3568 3569| 类型 | 说明 | 3570| --------------------------------------------- | ------------------------------------------------------- | 3571| Promise<Array<[Holder](#holder)>> | Promise对象。返回查询到的创建联系人应用信息的对象数组。 | 3572 3573**示例:** 3574 3575 ```js 3576 import { BusinessError } from '@kit.BasicServicesKit'; 3577 let promise = contact.queryHolders(); 3578 promise.then((data) => { 3579 console.info(`Succeeded in querying Holders. data->${JSON.stringify(data)}`); 3580 }).catch((err: BusinessError) => { 3581 console.error(`Failed to query Holders. Code: ${err.code}, message: ${err.message}`); 3582 }); 3583 ``` 3584 3585## contact.queryKey<sup>10+</sup> 3586 3587queryKey(context: Context, id: number, callback: AsyncCallback<string>): void 3588 3589根据联系人的id查询联系人的key,使用callback方式作为异步方法。 3590 3591**需要权限**:ohos.permission.READ_CONTACTS 3592 3593**系统能力**:SystemCapability.Applications.ContactsData 3594 3595**参数:** 3596 3597| 参数名 | 类型 | 必填 | 说明 | 3598| -------- | --------------------------- | ---- | ------------------------------------------------------------ | 3599| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3600| id | number | 是 | 联系人对象的id属性。 | 3601| callback | AsyncCallback<string> | 是 | 回调函数。成功返回查询到的联系人对应的key;失败返回失败的错误码。 | 3602 3603**错误码:** 3604 3605以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3606 3607| 错误码ID | 错误信息 | 3608| -------- | ------------------ | 3609| 201 | Permission denied. | 3610| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 3611 3612**示例:** 3613 3614 ```js 3615 import { BusinessError } from '@kit.BasicServicesKit'; 3616 // 获取context。 3617 let context = getContext(this) as Context; 3618 contact.queryKey(context, /*id*/1, (err: BusinessError, data) => { 3619 if (err) { 3620 console.error(`Failed to query Key. Code: ${err.code}, message: ${err.message}`); 3621 return; 3622 } 3623 console.info(`Succeeded in querying Key. data->${JSON.stringify(data)}`); 3624 }); 3625 ``` 3626 3627## contact.queryKey<sup>(deprecated)7+</sup> 3628 3629queryKey(id: number, callback: AsyncCallback<string>): void 3630 3631根据联系人的id查询联系人的key,使用callback方式作为异步方法。 3632 3633> **说明** 3634> 3635> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryKey](#contactquerykey10)替代。 3636 3637**需要权限**:ohos.permission.READ_CONTACTS 3638 3639**系统能力**:SystemCapability.Applications.ContactsData 3640 3641**参数:** 3642 3643| 参数名 | 类型 | 必填 | 说明 | 3644| -------- | --------------------------- | ---- | ------------------------------------------------------------ | 3645| id | number | 是 | 联系人对象的id属性。 | 3646| callback | AsyncCallback<string> | 是 | 回调函数。成功返回查询到的联系人对应的key;失败返回失败的错误码。 | 3647 3648**示例:** 3649 3650 ```js 3651 import { BusinessError } from '@kit.BasicServicesKit'; 3652 contact.queryKey(/*id*/1, (err: BusinessError, data) => { 3653 if (err) { 3654 console.error(`Failed to query Key. Code: ${err.code}, message: ${err.message}`); 3655 return; 3656 } 3657 console.info(`Succeeded in querying Key. data->${JSON.stringify(data)}`); 3658 }); 3659 ``` 3660 3661## contact.queryKey<sup>10+</sup> 3662 3663queryKey(context: Context, id: number, holder: Holder, callback: AsyncCallback<string>): void 3664 3665根据联系人的id和holder查询联系人的key,使用callback方式作为异步方法。 3666 3667**需要权限**:ohos.permission.READ_CONTACTS 3668 3669**系统能力**:SystemCapability.Applications.ContactsData 3670 3671**参数:** 3672 3673| 参数名 | 类型 | 必填 | 说明 | 3674| -------- | --------------------------- | ---- | ------------------------------------------------------------ | 3675| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3676| id | number | 是 | 联系人对象的id属性。 | 3677| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 3678| callback | AsyncCallback<string> | 是 | 回调函数。成功返回查询到的联系人对应的key;失败返回失败的错误码。 | 3679 3680**错误码:** 3681 3682以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3683 3684| 错误码ID | 错误信息 | 3685| -------- | ------------------ | 3686| 201 | Permission denied. | 3687| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 3688 3689**示例:** 3690 3691 ```js 3692 import { BusinessError } from '@kit.BasicServicesKit'; 3693 // 获取context。 3694 let context = getContext(this) as Context; 3695 contact.queryKey(context, /*id*/1, { 3696 holderId: 1, 3697 bundleName: "", 3698 displayName: "" 3699 }, (err: BusinessError, data) => { 3700 if (err) { 3701 console.error(`Failed to query Key. Code: ${err.code}, message: ${err.message}`); 3702 return; 3703 } 3704 console.info(`Succeeded in querying Key. data->${JSON.stringify(data)}`); 3705 }); 3706 ``` 3707 3708## contact.queryKey<sup>(deprecated)7+</sup> 3709 3710queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): void 3711 3712根据联系人的id和holder查询联系人的key,使用callback方式作为异步方法。 3713 3714> **说明** 3715> 3716> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryKey](#contactquerykey10-1)替代。 3717 3718**需要权限**:ohos.permission.READ_CONTACTS 3719 3720**系统能力**:SystemCapability.Applications.ContactsData 3721 3722**参数:** 3723 3724| 参数名 | 类型 | 必填 | 说明 | 3725| -------- | --------------------------- | ---- | ------------------------------------------------------------ | 3726| id | number | 是 | 联系人对象的id属性。 | 3727| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 3728| callback | AsyncCallback<string> | 是 | 回调函数。成功返回查询到的联系人对应的key;失败返回失败的错误码。 | 3729 3730**示例:** 3731 3732 ```js 3733 import { BusinessError } from '@kit.BasicServicesKit'; 3734 contact.queryKey(/*id*/1, { 3735 holderId: 1, 3736 bundleName: "", 3737 displayName: "" 3738 }, (err: BusinessError, data) => { 3739 if (err) { 3740 console.error(`Failed to query Key. Code: ${err.code}, message: ${err.message}`); 3741 return; 3742 } 3743 console.info(`Succeeded in querying Key. data->${JSON.stringify(data)}`); 3744 }); 3745 ``` 3746 3747## contact.queryKey<sup>10+</sup> 3748 3749queryKey(context: Context, id: number, holder?: Holder): Promise<string> 3750 3751根据联系人的id和holder查询联系人的key,使用Promise方式作为异步方法。 3752 3753**需要权限**:ohos.permission.READ_CONTACTS 3754 3755**系统能力**:SystemCapability.Applications.ContactsData 3756 3757**参数:** 3758 3759| 参数名 | 类型 | 必填 | 说明 | 3760| ------- | ----------------- | ---- | ------------------------------------------------------------ | 3761| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3762| id | number | 是 | 联系人对象的id属性。 | 3763| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 3764 3765**返回值:** 3766 3767| 类型 | 说明 | 3768| --------------------- | ------------------------------------------ | 3769| Promise<string> | Promise对象。返回查询到的联系人对应的key。 | 3770 3771**错误码:** 3772 3773以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)。 3774 3775| 错误码ID | 错误信息 | 3776| -------- | ------------------ | 3777| 201 | Permission denied. | 3778| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. | 3779 3780**示例:** 3781 3782 ```js 3783 import { BusinessError } from '@kit.BasicServicesKit'; 3784 // 获取context。 3785 let context = getContext(this) as Context; 3786 let promise = contact.queryKey(context, /*id*/1, { 3787 holderId: 1, 3788 bundleName: "", 3789 displayName: "" 3790 }); 3791 promise.then((data) => { 3792 console.info(`Succeeded in querying Key. data->${JSON.stringify(data)}`); 3793 }).catch((err: BusinessError) => { 3794 console.error(`Failed to query Key. Code: ${err.code}, message: ${err.message}`); 3795 }); 3796 ``` 3797 3798## contact.queryKey<sup>(deprecated)7+</sup> 3799 3800queryKey(id: number, holder?: Holder): Promise<string> 3801 3802根据联系人的id和holder查询联系人的key,使用Promise方式作为异步方法。 3803 3804> **说明** 3805> 3806> 从API version 7 开始支持,从API version 10 开始废弃,建议使用[queryKey](#contactquerykey10-2)替代。 3807 3808**需要权限**:ohos.permission.READ_CONTACTS 3809 3810**系统能力**:SystemCapability.Applications.ContactsData 3811 3812**参数:** 3813 3814| 参数名 | 类型 | 必填 | 说明 | 3815| ------ | ----------------- | ---- | ---------------------- | 3816| id | number | 是 | 联系人对象的id属性。 | 3817| holder | [Holder](#holder) | 否 | 创建联系人的应用信息,不传默认不使用该条件过滤联系人。 | 3818 3819**返回值:** 3820 3821| 类型 | 说明 | 3822| --------------------- | ------------------------------------------ | 3823| Promise<string> | Promise对象。返回查询到的联系人对应的key。 | 3824 3825**示例:** 3826 3827 ```js 3828 import { BusinessError } from '@kit.BasicServicesKit'; 3829 let promise = contact.queryKey(/*id*/1, { 3830 holderId: 1, 3831 bundleName: "", 3832 displayName: "" 3833 }); 3834 promise.then((data) => { 3835 console.info(`Succeeded in querying Key. data->${JSON.stringify(data)}`); 3836 }).catch((err: BusinessError) => { 3837 console.error(`Failed to query Key. Code: ${err.code}, message: ${err.message}`); 3838 }); 3839 ``` 3840 3841## contact.addContactViaUI<sup>15+</sup> 3842 3843addContactViaUI(context: Context, contact: Contact): Promise<number> 3844 3845调用新建联系人接口,打开新建联系人UI界面,新建完成。使用Promise异步回调。 3846 3847**原子化服务API**: 从API version 15 开始,该接口支持在原子化服务中使用。 3848 3849**系统能力**:SystemCapability.Applications.Contacts 3850 3851**参数:** 3852 3853| 参数名 | 类型 | 必填 | 说明 | 3854| ------ | ----------------- | ---- | ---------------------- | 3855| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3856| contact | [Contact](#contact) | 是 | 联系人信息。 | 3857 3858**返回值:** 3859 3860| 类型 | 说明 | 3861| --------------------- | ------------------------------------------ | 3862| Promise<number> | Promise对象。返回添加的联系人id。 | 3863 3864**错误码:** 3865 3866以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[Contacts错误码](../apis-contacts-kit/errorcode-contacts.md)。 3867 3868| 类型 | 说明 | 3869| --------------------- | ------------------------------------------ | 3870| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3871| 801 | The specified SystemCapability name was not found. | 3872| 16700001 | General error. | 3873| 16700102 | Failed to set value to contacts data. | 3874| 16700103 | User cancel. | 3875 3876**示例:** 3877 3878```js 3879import { BusinessError } from '@kit.BasicServicesKit'; 3880// 获取context。 3881let context = getContext(this) as Context; 3882let promise = contact.addContactViaUI(context, contactInfo); 3883``` 3884 3885## contact.saveToExistingContactViaUI<sup>15+</sup> 3886 3887saveToExistingContactViaUI(context: Context, contact: Contact): Promise<number> 3888 3889调用保存至已有联系人接口,选择联系人UI界面并完成编辑。使用Promise异步回调。 3890 3891**原子化服务API**: 从API version 15 开始,该接口支持在原子化服务中使用。 3892 3893**系统能力**:SystemCapability.Applications.Contacts 3894 3895**参数:** 3896 3897| 参数名 | 类型 | 必填 | 说明 | 3898| ------ | ----------------- | ---- | ---------------------- | 3899| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-context.md)。 | 3900| contact | [Contact](#contact) | 是 | 联系人信息。 | 3901 3902**返回值:** 3903 3904| 类型 | 说明 | 3905| --------------------- | ------------------------------------------ | 3906| Promise<number> | Promise对象。返回添加的联系人id。 | 3907 3908**错误码:** 3909 3910以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[Contacts错误码](../apis-contacts-kit/errorcode-contacts.md)。 3911 3912| 类型 | 说明 | 3913| --------------------- | ------------------------------------------ | 3914| 401 | Parameter error. Possible causes: Mandatory parameters are left unspecified. | 3915| 801 | The specified SystemCapability name was not found. | 3916| 16700001 | General error. | 3917| 16700101 | Failed to get value to contacts data. | 3918| 16700102 | Failed to set value to contacts data. | 3919| 16700103 | User cancel. | 3920 3921**示例:** 3922 3923```js 3924import { BusinessError } from '@kit.BasicServicesKit'; 3925// 获取context。 3926let context = getContext(this) as Context; 3927let promise = contact.saveToExistingContactViaUI(context, contactInfo); 3928``` 3929 3930## ContactSelectionOptions<sup>10+</sup> 3931 3932选择联系人条件。 3933 3934**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 3935 3936**系统能力**:SystemCapability.Applications.Contacts 3937 3938| 名称 | 类型 | 只读 | 可选 | 说明 | 3939| --------------------------------- | ------------------------------------- | ---- | ---- | ---------------- | 3940| isMultiSelect<sup>10+</sup> | boolean | 否 | 是 | 是否为多选。默认值为false。 | 3941| maxSelectable<sup>15+</sup> | number | 否 | 是 | 联系人选择数量上限。默认值为10000。 | 3942| isDisplayedByName<sup>15+</sup> | boolean | 否 | 是 | 是否按联系人姓名维度展示。默认值为false。 | 3943| filter<sup>15+</sup> | [ContactSelectionFilter](#contactselectionfilter15) | 否 | 是 | 联系人查询过滤器。 | 3944 3945## ContactSelectionFilter<sup>15+</sup> 3946 3947联系人查询过滤器。 3948 3949**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 3950 3951**系统能力**:SystemCapability.Applications.Contacts 3952 3953| 名称 | 类型 | 必填 | 说明 | 3954| --------------------------------- | ------------------------------------- | ---- | ---------------- | 3955| filterClause | [FilterClause](#filterclause15) | 是 | 过滤条件。 | 3956| filterType | [FilterType](#filtertype15) | 是 | 过滤类型。 | 3957 3958## FilterType<sup>15+</sup> 3959 3960枚举,联系人过滤类型。 3961 3962**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 3963 3964**系统能力**:SystemCapability.Applications.ContactsData 3965 3966| 名称 | 值 | 说明 | 3967| --------------------- | ---- | ---------------------------------- | 3968| SHOW_FILTER | 0 | 仅展示符合过滤条件的联系人。 | 3969| DEFAULT_SELECT | 1 | 默认勾选符合过滤条件的联系人。 | 3970| SHOW_FILTER_AND_DEFAULT_SELECT | 2 | 默认勾选仅展示符合过滤条件联系人。 | 3971 3972## FilterClause<sup>15+</sup> 3973 3974联系人过滤条件。 3975 3976**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 3977 3978**系统能力**:SystemCapability.Applications.Contacts 3979 3980| 名称 | 类型 | 必填 | 说明 | 3981| --------------------------------- | ------------------------------------- | ---- | ---------------- | 3982| id | [FilterOptions](#filteroptions15)[] | 否 | 联系人id。 | 3983| name | [FilterOptions](#filteroptions15)[] | 否 | 联系人姓名。 | 3984| dataItem | [DataFilter](#datafilter15) | 否 | 联系人数据过滤项。 | 3985| focusModeList | [FilterOptions](#filteroptions15)[] | 否 | 专注模式。 | 3986 3987## FilterOptions<sup>15+</sup> 3988 3989联系人过滤参数。 3990 3991**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 3992 3993**系统能力**:SystemCapability.Applications.Contacts 3994 3995| 名称 | 类型 | 必填 | 说明 | 3996| --------------------------------- | ------------------------------------- | ---- | ---------------- | 3997| filterCondition | [FilterCondition](#filtercondition15) | 是 | 过滤条件。 | 3998| value | string 或 ValueType[] | 否 | 过滤值,默认为undefined。 | 3999 4000## FilterCondition<sup>15+</sup> 4001 4002枚举,过滤条件。 4003 4004**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 4005 4006**系统能力**:SystemCapability.Applications.ContactsData 4007 4008| 名称 | 值 | 说明 | 4009| --------------------- | ---- | ---------------------------------- | 4010| IS_NOT_NULL | 0 |对应字段不为空。 | 4011| EQUAL_TO | 1 | 对应字段等于某值。 | 4012| NOT_EQUAL_TO | 2 | 对应字段不等于某值。 | 4013| IN | 3 | 对应字段值在某数组中。 | 4014| NOT_IN | 4 | 对应字段值不在某数组中。 | 4015| CONTAINS | 5 | 对应字段值包含某值。 | 4016 4017## DataFilter<sup>15+</sup> 4018 4019联系人数据过滤项。 4020 4021**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 4022 4023**系统能力**:SystemCapability.Applications.Contacts 4024 4025| 名称 | 类型 | 必填 | 说明 | 4026| --------------------------------- | ------------------------------------- | ---- | ---------------- | 4027| field | [DataField](#datafield15) | 是 | 联系人数据字段。 | 4028| options | [FilterOptions](#filteroptions15)[] | 是 | 过滤参数。 | 4029 4030## DataField<sup>15+</sup> 4031 4032枚举,联系人数据字段。 4033 4034**原子化服务API**:从API version 15 开始,该接口支持在原子化服务中使用。 4035 4036**系统能力**:SystemCapability.Applications.ContactsData 4037 4038| 名称 | 值 | 说明 | 4039| --------------------- | --- | ---------------------------------- | 4040| EMAIL | 0 |联系人邮箱。 | 4041| PHONE | 1 | 联系人电话。 | 4042| ORGANIZATION | 2 | 联系人单位。 | 4043 4044## Contact 4045 4046联系人对象类。 4047 4048**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4049 4050**系统能力**:SystemCapability.Applications.ContactsData 4051 4052### 常量 4053 4054| 名称 | 类型 | 值 | 说明 | 4055| ------------------ | ---- | ---- | ---------------- | 4056| INVALID_CONTACT_ID | number | -1 | 默认联系人的id。 | 4057 4058### 属性 4059 4060| 名称 | 类型 | 只读 | 可选 | 说明 | 4061| ----------------- | --------------------------------------- | ---- | ---- | -------------------------------------- | 4062| id | number | 是 | 是 | 联系人的id。 | 4063| key | string | 是 | 是 | 联系人的key。 | 4064| contactAttributes | [ContactAttributes](#contactattributes) | 否 | 是 | 联系人的属性列表。 | 4065| emails | [Email](#email)[] | 否 | 是 | 联系人的邮箱地址列表。 | 4066| events | [Event](#event)[] | 否 | 是 | 联系人的生日、周年纪念等重要日期列表。 | 4067| groups | [Group](#group)[] | 否 | 是 | 联系人的群组列表。 | 4068| imAddresses | [ImAddress](#imaddress)[] | 否 | 是 | 联系人的即时消息地址列表。 | 4069| phoneNumbers | [PhoneNumber](#phonenumber)[] | 否 | 是 | 联系人的电话号码列表。 | 4070| portrait | [Portrait](#portrait) | 否 | 是 | 联系人的头像。 | 4071| postalAddresses | [PostalAddress](#postaladdress)[] | 否 | 是 | 联系人的邮政地址列表。 | 4072| relations | [Relation](#relation)[] | 否 | 是 | 联系人的关系列表。 | 4073| sipAddresses | [SipAddress](#sipaddress)[] | 否 | 是 | 联系人的会话发起协议(SIP)地址列表。 | 4074| websites | [Website](#website)[] | 否 | 是 | 联系人的网站列表。 | 4075| name | [Name](#name) | 否 | 是 | 联系人的姓名。 | 4076| nickName | [NickName](#nickname) | 否 | 是 | 联系人的昵称。 | 4077| note | [Note](#note) | 否 | 是 | 联系人的备注。 | 4078| organization | [Organization](#organization) | 否 | 是 | 联系人的组织信息。 | 4079 4080**对象创建示例:** 4081 4082使用JSON格式创建联系人数据。 4083 4084```js 4085let myContact: contact.Contact = { 4086 phoneNumbers: [{ 4087 phoneNumber: "138xxxxxxxx" 4088 }], 4089 name: { 4090 fullName: "fullName", 4091 namePrefix: "namePrefix" 4092 }, 4093 nickName: { 4094 nickName: "nickName" 4095 } 4096}; 4097``` 4098 4099## ContactAttributes 4100 4101联系人属性列表,一般作为入参用来标识希望查询的联系人属性。 4102当传入为null时,默认查询全部属性。 4103 4104**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4105 4106**系统能力**:SystemCapability.Applications.ContactsData 4107 4108| 名称 | 类型 | 只读 | 可选 | 说明 | 4109| ---------- | ------------------------- | ---- | ---- | ---------------- | 4110| attributes | [Attribute](#attribute)[] | 否 | 否 | 联系人属性列表。 | 4111 4112**对象创建示例:** 4113 4114使用JSON格式创建数据。 4115 4116 4117```js 4118let contactAttributes: contact.ContactAttributes = { 4119 attributes: [ 4120 contact.Attribute.ATTR_EMAIL, 4121 contact.Attribute.ATTR_NAME, 4122 contact.Attribute.ATTR_PHONE 4123 ] 4124}; 4125``` 4126 4127## Attribute 4128 4129枚举,联系人属性列表。 4130 4131**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4132 4133**系统能力**:SystemCapability.Applications.ContactsData 4134 4135| 名称 | 说明 | 4136| --------------------- | ---------------------------------- | 4137| ATTR_CONTACT_EVENT | 联系人的生日、周年纪念等重要日期。 | 4138| ATTR_EMAIL | 联系人的邮箱地址。 | 4139| ATTR_GROUP_MEMBERSHIP | 联系人的群组。 | 4140| ATTR_IM | 联系人的即时消息地址。 | 4141| ATTR_NAME | 联系人的姓名。 | 4142| ATTR_NICKNAME | 联系人的昵称。 | 4143| ATTR_NOTE | 联系人的备注。 | 4144| ATTR_ORGANIZATION | 联系人的组织信息。 | 4145| ATTR_PHONE | 联系人的电话号码。 | 4146| ATTR_PORTRAIT | 联系人的头像。 | 4147| ATTR_POSTAL_ADDRESS | 联系人的邮政地址。 | 4148| ATTR_RELATION | 联系人的关系。 | 4149| ATTR_SIP_ADDRESS | 联系人的会话发起协议(SIP)地址。 | 4150| ATTR_WEBSITE | 联系人的网站。 | 4151 4152**对象创建示例:** 4153 4154使用JSON格式创建数据。 4155 4156```js 4157let attributes = [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE]; 4158``` 4159 4160## Email 4161 4162联系人的邮箱。 4163 4164**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4165 4166**系统能力**:SystemCapability.Applications.ContactsData 4167 4168### 常量 4169 4170| 名称 | 类型 | 值 | 说明 | 4171| ---------------- | ---- | ---- | ---------------- | 4172| CUSTOM_LABEL | number | 0 |自定义邮箱类型。 | 4173| EMAIL_HOME | number | 1 | 家庭邮箱类型。 | 4174| EMAIL_WORK | number | 2 | 工作邮箱类型。 | 4175| EMAIL_OTHER | number | 3 | 其它邮箱类型。 | 4176| INVALID_LABEL_ID | number | -1 | 无效邮箱类型。 | 4177 4178### 属性 4179 4180| 名称 | 类型 | 可读 | 可写 | 说明 | 4181| ----------- | -------- | ---- | ---- | ---------------- | 4182| email | string | 是 | 是 | 邮箱地址。 | 4183| labelName | string | 是 | 是 | 邮箱的类型名称。 | 4184| displayName | string | 是 | 是 | 邮箱的显示名称。 | 4185| labelId | number | 是 | 是 | 邮箱的类型。 | 4186 4187**对象创建示例:** 4188 4189 使用JSON格式创建数据。 4190 4191```js 4192let email: contact.Email = { 4193 email: "xxx@email.com", 4194 displayName: "displayName" 4195} 4196``` 4197 4198 4199 或使用new一个Email对象的方式创建数据。 4200 4201```js 4202let email = new contact.Email(); 4203email.email = "xxx@email.com"; 4204``` 4205 4206## Holder 4207 4208创建联系人的应用信息类。 4209 4210**系统能力**:SystemCapability.Applications.ContactsData 4211 4212| 名称 | 类型 | 可读 | 可写 | 说明 | 4213| ----------- | ------ | ---- | ---- | ------------ | 4214| bundleName | string | 是 | 否 | Bundle名称,值为com.ohos.contacts。 | 4215| displayName | string | 是 | 否 | 应用名称。 | 4216| holderId | number | 是 | 是 | 应用Id。 | 4217 4218**对象创建示例:** 4219 4220 使用JSON格式创建数据。 4221 4222```js 4223let holder: contact.Holder = { 4224 bundleName: "com.ohos.contacts", 4225 displayName: "displayName", 4226 holderId: 1 4227}; 4228``` 4229 4230## Event 4231 4232联系人事件类。 4233 4234**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4235 4236**系统能力**:SystemCapability.Applications.ContactsData 4237 4238### 常量 4239 4240| 名称 | 值 | 说明 | 4241| ----------------- | ---- | ------------------ | 4242| CUSTOM_LABEL | 0 | 自定义事件类型。 | 4243| EVENT_ANNIVERSARY | 1 | 周年纪念事件类型。 | 4244| EVENT_OTHER | 2 | 其它事件类型。 | 4245| EVENT_BIRTHDAY | 3 | 生日事件类型。 | 4246| INVALID_LABEL_ID | -1 | 无效事件类型。 | 4247 4248### 属性 4249 4250| 名称 | 类型 | 可读 | 可写 | 说明 | 4251| --------- | -------- | ---- | ---- | -------------- | 4252| eventDate | string | 是 | 是 | 事件的日期。 | 4253| labelName | string | 是 | 是 | 事件类型名称。 | 4254| labelId | number | 是 | 是 | 事件类型。 | 4255 4256**对象创建示例:** 4257 4258 使用JSON格式创建数据。 4259 4260```js 4261let event: contact.Event = { 4262 eventDate: "xxxxxx" 4263}; 4264``` 4265 4266 或使用new一个Event对象的方式创建数据。 4267 4268```js 4269let event = new contact.Event(); 4270event.eventDate = "xxxxxx"; 4271``` 4272 4273## Group 4274 4275联系人的群组类。 4276 4277**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4278 4279**系统能力**:SystemCapability.Applications.ContactsData 4280 4281| 名称 | 类型 | 可读 | 可写 | 说明 | 4282| ------- | -------- | ---- | ---- | ------------------ | 4283| groupId | number | 是 | 是 | 联系人群组的Id。 | 4284| title | string | 是 | 是 | 联系人群组的名称。 | 4285 4286**对象创建示例:** 4287 4288 使用JSON格式创建数据。 4289 4290```js 4291let group: contact.Group = { 4292 groupId: 1, 4293 title: "title" 4294}; 4295``` 4296 4297## ImAddress 4298 4299联系人的即时消息地址。 4300 4301**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4302 4303**系统能力**:SystemCapability.Applications.ContactsData 4304 4305### 常量 4306 4307| 名称 | 值 | 说明 | 4308| ---------------- | ---- | -------------------- | 4309| CUSTOM_LABEL | -1 | 自定义即时消息类型。 | 4310| IM_AIM | 0 | AIM即时消息类型。 | 4311| IM_MSN | 1 | MSN即时消息类型。 | 4312| IM_YAHOO | 2 | YAHOO即时消息类型。 | 4313| IM_SKYPE | 3 | SKYPE即时消息类型。 | 4314| IM_QQ | 4 | QQ即时消息类型。 | 4315| IM_ICQ | 6 | ICQ即时消息类型。 | 4316| IM_JABBER | 7 | JABBER即时消息类型。 | 4317| INVALID_LABEL_ID | -2 | 无效的即时消息类型。 | 4318 4319### 属性 4320 4321| 名称 | 类型 | 可读 | 可写 | 说明 | 4322| --------- | -------- | ---- | ---- | ------------------ | 4323| imAddress | string | 是 | 是 | 即时消息地址。 | 4324| labelName | string | 是 | 是 | 即时消息类型名称。 | 4325| labelId | number | 是 | 是 | 即时消息类型。 | 4326 4327**对象创建示例:** 4328 4329 使用JSON格式创建数据。 4330 4331```js 4332let imAddress: contact.ImAddress = { 4333 imAddress: "imAddress", 4334 labelName: "labelName" 4335}; 4336``` 4337 4338 4339 或使用new一个ImAddress对象的方式创建数据。 4340 4341```js 4342let imAddress = new contact.ImAddress(); 4343imAddress.imAddress = "imAddress"; 4344``` 4345 4346## Name 4347 4348联系人的名字类。 4349 4350**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4351 4352**系统能力**:SystemCapability.Applications.ContactsData 4353 4354| 名称 | 类型 | 可读 | 可写 | 说明 | 4355| ------------------ | -------- | ---- | ---- | --------------------------- | 4356| familyName | string | 是 | 是 | 联系人的家庭姓名。 | 4357| familyNamePhonetic | string | 是 | 是 | 联系人的家庭姓名拼音。 | 4358| fullName | string | 是 | 是 | 联系人的全名。 | 4359| givenName | string | 是 | 是 | 联系人的名称(firstName)。 | 4360| givenNamePhonetic | string | 是 | 是 | 联系人的名称拼音。 | 4361| middleName | string | 是 | 是 | 联系人的中间名。 | 4362| middleNamePhonetic | string | 是 | 是 | 联系人的中间名拼音。 | 4363| namePrefix | string | 是 | 是 | 联系人的姓名前缀。 | 4364| nameSuffix | string | 是 | 是 | 联系人的姓名后缀。 | 4365 4366**对象创建示例:** 4367 4368 使用JSON格式创建数据。 4369 4370```js 4371let name: contact.Name = { 4372 familyName: "familyName", 4373 fullName: "fullName" 4374}; 4375``` 4376 4377## NickName 4378 4379联系人的昵称类。 4380 4381**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4382 4383**系统能力**:SystemCapability.Applications.ContactsData 4384 4385| 名称 | 类型 | 可读 | 可写 | 说明 | 4386| -------- | -------- | ---- | ---- | -------------- | 4387| nickName | string | 是 | 是 | 联系人的昵称。 | 4388 4389**对象创建示例:** 4390 4391 使用JSON格式创建数据。 4392 4393```js 4394let nickName: contact.NickName = { 4395 nickName: "nickName" 4396}; 4397``` 4398 4399## Note 4400 4401联系人的备注类。 4402 4403**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4404 4405**系统能力**:SystemCapability.Applications.ContactsData 4406 4407| 名称 | 类型 | 可读 | 可写 | 说明 | 4408| ----------- | -------- | ---- | ---- | ------------------ | 4409| noteContent | string | 是 | 是 | 联系人的备注内容。 | 4410 4411**对象创建示例:** 4412 4413 使用JSON格式创建数据。 4414 4415```js 4416let note: contact.Note = { 4417 noteContent: "noteContent" 4418}; 4419``` 4420 4421## Organization 4422 4423联系人的组织类。 4424 4425**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4426 4427**系统能力**:SystemCapability.Applications.ContactsData 4428 4429| 名称 | 类型 | 可读 | 可写 | 说明 | 4430| ----- | -------- | ---- | ---- | ---------- | 4431| name | string | 是 | 是 | 单位名称。 | 4432| title | string | 是 | 是 | 职位名称。 | 4433 4434**对象创建示例:** 4435 4436 使用JSON格式创建数据。 4437 4438```js 4439let organization: contact.Organization = { 4440 name: "name", 4441 title: "title" 4442}; 4443``` 4444 4445## PhoneNumber 4446 4447联系人电话号码类。 4448 4449**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4450 4451**系统能力**:SystemCapability.Applications.ContactsData 4452 4453### 常量 4454 4455| 名称 | 值 | 说明 | 4456| ---------------- | ---- | ------------------------------------------------ | 4457| CUSTOM_LABEL | 0 | 自定义电话类型。 | 4458| NUM_HOME | 1 | 家庭电话类型。 | 4459| NUM_MOBILE | 2 | 移动电话类型。 | 4460| NUM_WORK | 3 | 工作电话类型。 | 4461| NUM_FAX_WORK | 4 | 工作传真电话类型。 | 4462| NUM_FAX_HOME | 5 | 家庭传真电话类型。 | 4463| NUM_PAGER | 6 | 寻呼机电话类型。 | 4464| NUM_OTHER | 7 | 其它电话类型。 | 4465| NUM_CALLBACK | 8 | 回呼电话类型。 | 4466| NUM_CAR | 9 | 车机电话类型。 | 4467| NUM_COMPANY_MAIN | 10 | 公司电话类型。 | 4468| NUM_ISDN | 11 | 综合业务数字网(ISDN)电话类型。 | 4469| NUM_MAIN | 12 | 主电话类型。 | 4470| NUM_OTHER_FAX | 13 | 其它传真类型。 | 4471| NUM_RADIO | 14 | 无线电话类型。 | 4472| NUM_TELEX | 15 | 电传电话类型。 | 4473| NUM_TTY_TDD | 16 | 电传打字机(TTY)或测试驱动开发(TDD)电话类型。 | 4474| NUM_WORK_MOBILE | 17 | 工作移动电话类型。 | 4475| NUM_WORK_PAGER | 18 | 工作寻呼机电话类型。 | 4476| NUM_ASSISTANT | 19 | 助理电话类型。 | 4477| NUM_MMS | 20 | 彩信电话类型。 | 4478| INVALID_LABEL_ID | -1 | 无效电话类型。 | 4479 4480### 属性 4481 4482| 名称 | 类型 | 可读 | 可写 | 说明 | 4483| ----------- | -------- | ---- | ---- | ------------------ | 4484| labelName | string | 是 | 是 | 电话号码类型名称。 | 4485| phoneNumber | string | 是 | 是 | 电话号码。 | 4486| labelId | number | 是 | 是 | 电话号码类型。 | 4487 4488**对象创建示例:** 4489 4490 使用JSON格式创建数据。 4491 4492```js 4493let phoneNumber: contact.PhoneNumber = { 4494 phoneNumber: "138xxxxxxxx", 4495 labelId: contact.PhoneNumber.NUM_HOME 4496}; 4497``` 4498 4499 或使用new一个PhoneNumber对象的方式创建数据。 4500 4501```js 4502let phoneNumber = new contact.PhoneNumber(); 4503phoneNumber.phoneNumber = "138xxxxxxxx"; 4504``` 4505 4506## Portrait 4507 4508联系人的头像类。 4509 4510**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4511 4512**系统能力**:SystemCapability.Applications.ContactsData 4513 4514| 名称 | 类型 | 可读 | 可写 | 说明 | 4515| ---- | -------- | ---- | ---- | -------------- | 4516| uri | string | 是 | 是 | 联系人的头像。 | 4517 4518**对象创建示例:** 4519 4520 使用JSON格式创建数据。 4521 4522```js 4523let portrait: contact.Portrait = { 4524 uri: "uri" 4525}; 4526``` 4527 4528## PostalAddress 4529 4530联系人的邮政地址类。 4531 4532**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4533 4534**系统能力**:SystemCapability.Applications.ContactsData 4535 4536### 常量 4537 4538| 名称 | 值 | 说明 | 4539| ---------------- | ---- | -------------------- | 4540| CUSTOM_LABEL | 0 | 自定义邮政地址类型。 | 4541| ADDR_HOME | 1 | 家庭地址类型。 | 4542| ADDR_WORK | 2 | 工作地址类型。 | 4543| ADDR_OTHER | 3 | 其它地址类型。 | 4544| INVALID_LABEL_ID | -1 | 无效地址类型。 | 4545 4546### 属性 4547 4548| 名称 | 类型 | 可读 | 可写 | 说明 | 4549| ------------- | -------- | ---- | ---- | -------------------------- | 4550| city | string | 是 | 是 | 联系人所在的城市。 | 4551| country | string | 是 | 是 | 联系人所在的国家。 | 4552| labelName | string | 是 | 是 | 邮政地址类型名称。 | 4553| neighborhood | string | 是 | 是 | 联系人的邻居。 | 4554| pobox | string | 是 | 是 | 联系人的邮箱。 | 4555| postalAddress | string | 是 | 是 | 联系人的邮政地址。 | 4556| postcode | string | 是 | 是 | 联系人所在区域的邮政编码。 | 4557| region | string | 是 | 是 | 联系人所在的区域。 | 4558| street | string | 是 | 是 | 联系人所在的街道。 | 4559| labelId | number | 是 | 是 | 邮政地址类型。 | 4560 4561**对象创建示例:** 4562 4563 使用JSON格式创建数据。 4564 4565```js 4566let postalAddress: contact.PostalAddress = { 4567 city: "city", 4568 postalAddress: "postalAddress" 4569}; 4570``` 4571 4572 或使用new一个PostalAddress对象的方式创建数据。 4573 4574```js 4575let postalAddress = new contact.PostalAddress(); 4576postalAddress.city = "city"; 4577postalAddress.postalAddress = "postalAddress"; 4578``` 4579 4580## Relation 4581 4582联系人的关系类。 4583 4584**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4585 4586**系统能力**:SystemCapability.Applications.ContactsData 4587 4588### 常量 4589 4590| 名称 | 值 | 说明 | 4591| ------------------------- | ---- | ------------------ | 4592| CUSTOM_LABEL | 0 | 自定义关系类型。 | 4593| RELATION_ASSISTANT | 1 | 助手关系类型。 | 4594| RELATION_BROTHER | 2 | 兄弟关系类型。 | 4595| RELATION_CHILD | 3 | 子女关系类型。 | 4596| RELATION_DOMESTIC_PARTNER | 4 | 同居同伴关系类型。 | 4597| RELATION_FATHER | 5 | 父亲关系类型。 | 4598| RELATION_FRIEND | 6 | 朋友关系类型。 | 4599| RELATION_MANAGER | 7 | 管理者关系类型。 | 4600| RELATION_MOTHER | 8 | 母亲关系类型。 | 4601| RELATION_PARENT | 9 | 父母关系类型。 | 4602| RELATION_PARTNER | 10 | 合作伙伴关系类型。 | 4603| RELATION_REFERRED_BY | 11 | 推荐人关系类型。 | 4604| RELATION_RELATIVE | 12 | 亲属关系类型。 | 4605| RELATION_SISTER | 13 | 姐妹关系类型。 | 4606| RELATION_SPOUSE | 14 | 配偶关系类型。 | 4607| INVALID_LABEL_ID | -1 | 无效的关系类型。 | 4608 4609### 属性 4610 4611| 名称 | 类型 | 可读 | 可写 | 说明 | 4612| ------------ | -------- | ---- | ---- | -------------- | 4613| labelName | string | 是 | 是 | 关系类型名称。 | 4614| relationName | string | 是 | 是 | 关系名称。 | 4615| labelId | number | 是 | 是 | 关系类型。 | 4616 4617**对象创建示例:** 4618 4619 使用JSON格式创建数据。 4620 4621```js 4622let relation: contact.Relation = { 4623 relationName: "relationName", 4624 labelId: contact.Relation.RELATION_ASSISTANT 4625}; 4626``` 4627 4628 或使用new一个Relation对象的方式创建数据。 4629 4630```js 4631let relation = new contact.Relation(); 4632relation.relationName = "relationName"; 4633relation.labelId = contact.Relation.RELATION_ASSISTANT; 4634``` 4635 4636## SipAddress 4637 4638联系人的会话发起协议(SIP)地址类。 4639 4640**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4641 4642**系统能力**:SystemCapability.Applications.ContactsData 4643 4644### 常量 4645 4646| 名称 | 值 | 说明 | 4647| ---------------- | ---- | ----------------------------------- | 4648| CUSTOM_LABEL | 0 | 自定义会话发起协议(SIP)地址类型。 | 4649| SIP_HOME | 1 | 家庭会话发起协议(SIP)地址类型。 | 4650| SIP_WORK | 2 | 工作会话发起协议(SIP)地址类型。 | 4651| SIP_OTHER | 3 | 其它会话发起协议(SIP)地址类型。 | 4652| INVALID_LABEL_ID | -1 | 无效会话发起协议(SIP)地址类型。 | 4653 4654### 属性 4655 4656| 名称 | 类型 | 可读 | 可写 | 说明 | 4657| ---------- | -------- | ---- | ---- | --------------------------------- | 4658| labelName | string | 是 | 是 | 会话发起协议(SIP)地址类型名称。 | 4659| sipAddress | string | 是 | 是 | 会话发起协议(SIP)地址。 | 4660| labelId | number | 是 | 是 | 会话发起协议(SIP)地址类型。 | 4661 4662**对象创建示例:** 4663 4664 使用JSON格式创建数据。 4665 4666```js 4667let sipAddress: contact.SipAddress = { 4668 sipAddress: "sipAddress" 4669}; 4670``` 4671 4672 或使用new一个SipAddress对象的方式创建数据。 4673 4674```js 4675let sipAddress = new contact.SipAddress(); 4676sipAddress.sipAddress = "sipAddress"; 4677``` 4678 4679## Website 4680 4681联系人的网站信息类。 4682 4683**原子化服务API**:从API version 11 开始,该接口支持在原子化服务中使用。 4684 4685**系统能力**:SystemCapability.Applications.ContactsData 4686 4687| 名称 | 类型 | 可读 | 可写 | 说明 | 4688| ------- | -------- | ---- | ---- | ------------------ | 4689| website | string | 是 | 是 | 联系人的网站信息。 | 4690 4691 4692**对象创建示例:** 4693 4694 使用JSON格式创建数据。 4695 4696```js 4697let website: contact.Website = { 4698 website: "website" 4699}; 4700``` 4701