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