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