1# @ohos.contact (联系人) 2 3本模块提供联系人管理能力,包括添加联系人、删除联系人、更新联系人等 4 5>**说明:** 6> 7>本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9 10## 导入模块 11 12``` 13import contact from '@ohos.contact'; 14``` 15 16## contact.addContact 17 18addContact(contact:Contact, callback:AsyncCallback<number>): void 19 20添加联系人,使用callback方式作为异步方法。 21 22**需要权限**:ohos.permission.WRITE_CONTACTS 23 24**系统能力**:SystemCapability.Applications.ContactsData 25 26**参数:** 27 28| 参数名 | 类型 | 必填 | 说明 | 29| -------- | --------------------------- | ---- | ------------------------------ | 30| contact | [Contact](#contact) | 是 | 联系人信息。 | 31| callback | AsyncCallback<number> | 是 | 回调函数,返回添加的联系人id。 | 32 33**示例:** 34 35 ```js 36 contact.addContact({ 37 name: {fullName: 'xxx'}, 38 phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] 39 }, (err, data) => { 40 if (err) { 41 console.log(`addContact callback: err->${JSON.stringify(err)}`); 42 return; 43 } 44 console.log(`addContact callback: success data->${JSON.stringify(data)}`); 45 }); 46 ``` 47 48 49## contact.addContact 50 51addContact(contact: Contact): Promise<number> 52 53添加联系人,使用Promise方式作为异步方法。 54 55**需要权限**:ohos.permission.WRITE_CONTACTS 56 57**系统能力**:SystemCapability.Applications.ContactsData 58 59**参数:** 60 61| 参数名 | 类型 | 必填 | 说明 | 62| ------- | ------------------- | ---- | ------------ | 63| contact | [Contact](#contact) | 是 | 联系人信息。 | 64 65**返回值:** 66 67| 类型 | 说明 | 68| --------------------- | ------------------------------------------- | 69| Promise<number> | 以Promise形式返回结果,返回添加的联系人id。 | 70 71**示例:** 72 73 ```js 74 let promise = contact.addContact({ 75 name: {fullName: 'xxx'}, 76 phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] 77 }); 78 promise.then((data) => { 79 console.log(`addContact success: data->${JSON.stringify(data)}`); 80 }).catch((err) => { 81 console.error(`addContact fail: err->${JSON.stringify(err)}`); 82 }); 83 ``` 84 85 86## contact.deleteContact 87 88deleteContact(key: string, callback: AsyncCallback<void>): void 89 90删除联系人,使用callback方式作为异步方法。 91 92**需要权限**:ohos.permission.WRITE_CONTACTS 93 94**系统能力**:SystemCapability.Applications.ContactsData 95 96**参数:** 97 98| 参数名 | 类型 | 必填 | 说明 | 99| -------- | ------------------------- | ---- | ------------------------------------ | 100| key | string | 是 | 联系人key值,一个联系人对应一个key。 | 101| callback | AsyncCallback<void> | 是 | 回调函数,返回删除联系人的结果。 | 102 103**示例:** 104 105 ```js 106 contact.deleteContact('xxx', (err) => { 107 if (err) { 108 console.log(`deleteContact callback: err->${JSON.stringify(err)}`); 109 return; 110 } 111 console.log('deleteContact success'); 112 }); 113 ``` 114 115 116## contact.deleteContact 117 118deleteContact(key: string): Promise<void> 119 120删除联系人,使用Promise方式作为异步方法。 121 122**需要权限**:ohos.permission.WRITE_CONTACTS 123 124**系统能力**:SystemCapability.Applications.ContactsData 125 126**参数:** 127 128| 参数名 | 类型 | 必填 | 说明 | 129| ------ | ------ | ---- | -------------------------------------- | 130| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 131 132**返回值:** 133 134| 类型 | 说明 | 135| ------------------- | --------------------------------------------- | 136| Promise<void> | 以Promise形式返回结果,返回删除联系人的结果。 | 137 138**示例:** 139 140 ```js 141 let promise = contact.deleteContact('xxx'); 142 promise.then(() => { 143 console.log(`deleteContact success`); 144 }).catch((err) => { 145 console.error(`deleteContact fail: err->${JSON.stringify(err)}`); 146 }); 147 ``` 148 149 150## contact.updateContact 151 152updateContact(contact: Contact, callback: AsyncCallback<void>): void 153 154更新联系人,使用callback方式作为异步方法。 155 156**需要权限**:ohos.permission.WRITE_CONTACTS 157 158**系统能力**:SystemCapability.Applications.ContactsData 159 160**参数:** 161 162| 参数名 | 类型 | 必填 | 说明 | 163| -------- | ------------------------- | ---- | ------------------------------------ | 164| contact | [Contact](#contact) | 是 | 联系人信息。 | 165| callback | AsyncCallback<void> | 是 | 回调函数,返回更新联系人的更新结果。 | 166 167**示例:** 168 169 ```js 170 contact.updateContact({ 171 id: 1, 172 name: {fullName: 'xxx'}, 173 phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] 174 }, (err) => { 175 if (err) { 176 console.log('updateContact callback: err->${JSON.stringify(err)}'); 177 return; 178 } 179 console.log('updateContact success'); 180 }); 181 ``` 182 183 184## contact.updateContact 185 186updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void 187 188更新联系人,使用callback方式作为异步方法。 189 190**需要权限**:ohos.permission.WRITE_CONTACTS 191 192**系统能力**:SystemCapability.Applications.ContactsData 193 194**参数:** 195 196| 参数名 | 类型 | 必填 | 说明 | 197| -------- | --------------------------------------- | ---- | ------------------------------------ | 198| contact | [Contact](#contact) | 是 | 联系人信息。 | 199| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 200| callback | AsyncCallback<void> | 是 | 回调函数,返回更新联系人的更新结果。 | 201 202**示例:** 203 204 ```js 205 contact.updateContact({ 206 id: 1, 207 name: {fullName: 'xxx'}, 208 phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] 209 }, { 210 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 211 }, (err) => { 212 if (err) { 213 console.log('updateContact callback: err->${JSON.stringify(err)}'); 214 return; 215 } 216 console.log('updateContact success'); 217 }); 218 ``` 219 220 221## contact.updateContact 222 223updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void> 224 225更新联系人,使用Promise方式作为异步方法。 226 227**需要权限**:ohos.permission.WRITE_CONTACTS 228 229**系统能力**:SystemCapability.Applications.ContactsData 230 231**参数:** 232 233| 参数名 | 类型 | 必填 | 说明 | 234| ------- | --------------------------------------- | ---- | ------------------ | 235| contact | [Contact](#contact) | 是 | 联系人信息。 | 236| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 237 238**返回值:** 239| 类型 | 说明 | 240| ------------------- | ------------------------------------------------- | 241| Promise<void> | 以Promise形式返回结果,返回更新联系人的更新结果。 | 242 243**示例:** 244 245 ```js 246 let promise = contact.updateContact({ 247 id: 1, 248 name: {fullName: 'xxx'}, 249 phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] 250 }, { 251 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 252 }); 253 promise.then(() => { 254 console.log('updateContact success'); 255 }).catch((err) => { 256 console.error(`updateContact fail: err->${JSON.stringify(err)}`); 257 }); 258 ``` 259 260 261## contact.isLocalContact 262 263isLocalContact(id: number, callback: AsyncCallback<boolean>): void 264 265判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。 266 267**需要权限**:ohos.permission.READ_CONTACTS 268 269**系统能力**:SystemCapability.Applications.ContactsData 270 271**参数:** 272 273| 参数名 | 类型 | 必填 | 说明 | 274| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 275| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | 276| callback | AsyncCallback<boolean> | 是 | 回调函数,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 | 277 278**示例:** 279 280 ```js 281 contact.isLocalContact(/*id*/1, (err, data) => { 282 if (err) { 283 console.log(`isLocalContact callback: err->${JSON.stringify(err)}`); 284 return; 285 } 286 console.log(`isLocalContact callback: success data->${JSON.stringify(data)}`); 287 }); 288 ``` 289 290 291## contact.isLocalContact 292 293isLocalContact(id: number): Promise<boolean> 294 295判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 296 297**需要权限**:ohos.permission.READ_CONTACTS 298 299**系统能力**:SystemCapability.Applications.ContactsData 300 301**参数:** 302 303| 参数名 | 类型 | 必填 | 说明 | 304| ------ | ------ | ---- | ------------------------------------------ | 305| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | 306 307**返回值:** 308 309| 类型 | 说明 | 310| ---------------------- | ------------------------------------------------------------ | 311| Promise<boolean> | 以Promise形式返回结果,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 | 312 313**示例:** 314 315 ```js 316 let promise = contact.isLocalContact(/*id*/1); 317 promise.then((data) => { 318 console.log(`isLocalContact success: data->${JSON.stringify(data)}`); 319 }).catch((err) => { 320 console.error(`isLocalContact fail: err->${JSON.stringify(err)}`); 321 }); 322 ``` 323 324 325## contact.isMyCard 326 327isMyCard(id: number, callback: AsyncCallback<boolean>): void 328 329判断是否为“我的名片”,使用callback方式作为异步方法。 330 331**需要权限**:ohos.permission.READ_CONTACTS 332 333**系统能力**:SystemCapability.Applications.ContactsData 334 335**参数:** 336 337| 参数名 | 类型 | 必填 | 说明 | 338| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 339| id | number | 是 | 联系人对象的id属性。 | 340| callback | AsyncCallback<boolean> | 是 | 回调函数,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 | 341 342**示例:** 343 344 ```js 345 contact.isMyCard(/*id*/1, (err, data) => { 346 if (err) { 347 console.log(`isMyCard callback: err->${JSON.stringify(err)}`); 348 return; 349 } 350 console.log(`isMyCard callback: success data->${JSON.stringify(data)}`); 351 }); 352 ``` 353 354 355## contact.isMyCard 356 357isMyCard(id: number): Promise<boolean> 358 359判断是否为“我的名片”,使用Promise方式作为异步方法。 360 361**需要权限**:ohos.permission.READ_CONTACTS 362 363**系统能力**:SystemCapability.Applications.ContactsData 364 365**参数:** 366 367| 参数名 | 类型 | 必填 | 说明 | 368| ------ | ------ | ---- | -------------------- | 369| id | number | 是 | 联系人对象的id属性。 | 370 371**返回值:** 372 373| 类型 | 说明 | 374| ---------------------- | ------------------------------------------------------------ | 375| Promise<boolean> | 以Promise形式返回结果,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 | 376 377**示例:** 378 379 ```js 380 let promise = contact.isMyCard(/*id*/1); 381 promise.then((data) => { 382 console.log(`isMyCard success: data->${JSON.stringify(data)}`); 383 }).catch((err) => { 384 console.error(`isMyCard fail: err->${JSON.stringify(err)}`); 385 }); 386 ``` 387 388 389## contact.queryMyCard 390 391queryMyCard(callback: AsyncCallback<Contact>): void 392 393查询“我的名片”,使用callback方式作为异步方法。 394 395**需要权限**:ohos.permission.READ_CONTACTS 396 397**系统能力**:SystemCapability.Applications.ContactsData 398 399**参数:** 400 401| 参数名 | 类型 | 必填 | 说明 | 402| -------- | ---------------------------------------- | ---- | ------------------------------ | 403| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回“我的名片”信息。 | 404 405**示例:** 406 407 ```js 408 contact.queryMyCard((err, data) => { 409 if (err) { 410 console.log(`queryMyCard callback: err->${JSON.stringify(err)}`); 411 return; 412 } 413 console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`); 414 }); 415 ``` 416 417 418## contact.queryMyCard 419 420queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 421 422查询“我的名片”,使用callback方式作为异步方法。 423 424**需要权限**:ohos.permission.READ_CONTACTS 425 426**系统能力**:SystemCapability.Applications.ContactsData 427 428**参数:** 429 430| 参数名 | 类型 | 必填 | 说明 | 431| -------- | ---------------------------------------- | ---- | ------------------------------ | 432| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 433| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回“我的名片”信息。 | 434 435**示例:** 436 437 ```js 438 contact.queryMyCard({ 439 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 440 }, (err, data) => { 441 if (err) { 442 console.log(`queryMyCard callback: err->${JSON.stringify(err)}`); 443 return; 444 } 445 console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`); 446 }); 447 ``` 448 449 450## contact.queryMyCard 451 452queryMyCard(attrs?: ContactAttributes): Promise<Contact> 453 454查询“我的名片”,使用Promise方式作为异步方法。 455 456**需要权限**:ohos.permission.READ_CONTACTS 457 458**系统能力**:SystemCapability.Applications.ContactsData 459 460**参数:** 461 462| 参数名 | 类型 | 必填 | 说明 | 463| ------ | --------------------------------------- | ---- | ------------------ | 464| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 465 466**返回值:** 467| 类型 | 说明 | 468| ---------------------------------- | ------------------------------------------- | 469| Promise<[Contact](#contact)> | 以Promise形式返回结果,返回“我的名片”信息。 | 470 471**示例:** 472 473 ```js 474 let promise = contact.queryMyCard({ 475 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 476 }); 477 promise.then((data) => { 478 console.log(`queryMyCard success: data->${JSON.stringify(data)}`); 479 }).catch((err) => { 480 console.error(`queryMyCard fail: err->${JSON.stringify(err)}`); 481 }); 482 ``` 483 484 485## contact.selectContact 486 487selectContact(callback: AsyncCallback<Array<Contact>>): void 488 489选择联系人,使用callback方式作为异步方法。 490 491**系统能力**:SystemCapability.Applications.Contacts 492 493**参数:** 494 495| 参数名 | 类型 | 必填 | 说明 | 496| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | 497| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回选择的联系人对象数组。 | 498 499**示例:** 500 501 ```js 502 contact.selectContact((err, data) => { 503 if (err) { 504 console.log(`selectContact callback: err->${JSON.stringify(err)}`); 505 return; 506 } 507 console.log(`selectContact callback: success data->${JSON.stringify(data)}`); 508 }); 509 ``` 510 511 512## contact.selectContact 513 514selectContact(): Promise<Array<Contact>> 515 516选择联系人,使用Promise方式作为异步方法。 517 518**系统能力**:SystemCapability.Applications.Contacts 519 520**返回值:** 521 522| 类型 | 说明 | 523| ----------------------------------------------- | ------------------------------------------------- | 524| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回选择的联系人对象数组。 | 525 526**示例:** 527 528 ```js 529 let promise = contact.selectContact(); 530 promise.then((data) => { 531 console.log(`selectContact success: data->${JSON.stringify(data)}`); 532 }).catch((err) => { 533 console.error(`selectContact fail: err->${JSON.stringify(err)}`); 534 }); 535 ``` 536 537 538## contact.queryContact 539 540queryContact(key: string, callback: AsyncCallback<Contact>): void 541 542根据key查询联系人,使用callback方式作为异步方法。 543 544**需要权限**:ohos.permission.READ_CONTACTS 545 546**系统能力**:SystemCapability.Applications.ContactsData 547 548**参数:** 549 550| 参数名 | 类型 | 必填 | 说明 | 551| -------- | ---------------------------------------- | ---- | -------------------------------------- | 552| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 553| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | 554 555**示例:** 556 557 ```js 558 contact.queryContact('xxx', (err, data) => { 559 if (err) { 560 console.log(`queryContact callback: err->${JSON.stringify(err)}`); 561 return; 562 } 563 console.log(`queryContact callback: success data->${JSON.stringify(data)}`); 564 }); 565 ``` 566 567 568## contact.queryContact 569 570queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void 571 572根据key查询联系人,使用callback方式作为异步方法。 573 574**需要权限**:ohos.permission.READ_CONTACTS 575 576**系统能力**:SystemCapability.Applications.ContactsData 577 578**参数:** 579 580| 参数名 | 类型 | 必填 | 说明 | 581| -------- | ---------------------------------------- | ---- | -------------------------------------- | 582| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 583| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 584| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | 585 586**示例:** 587 588 ```js 589 contact.queryContact('xxx', { 590 holderId: 0, 591 bundleName: "", 592 displayName: "" 593 }, (err, data) => { 594 if (err) { 595 console.log(`queryContact callback: err->${JSON.stringify(err)}`); 596 return; 597 } 598 console.log(`queryContact callback: success data->${JSON.stringify(data)}`); 599 }); 600 ``` 601 602 603## contact.queryContact 604 605queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 606 607根据key查询联系人,使用callback方式作为异步方法。 608 609**需要权限**:ohos.permission.READ_CONTACTS 610 611**系统能力**:SystemCapability.Applications.ContactsData 612 613**参数:** 614 615| 参数名 | 类型 | 必填 | 说明 | 616| -------- | ---------------------------------------- | ---- | -------------------------------------- | 617| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 618| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 619| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | 620 621**示例:** 622 623 ```js 624 contact.queryContact('xxx', { 625 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 626 }, (err, data) => { 627 if (err) { 628 console.log(`queryContact callback: err->${JSON.stringify(err)}`); 629 return; 630 } 631 console.log(`queryContact callback: success data->${JSON.stringify(data)}`); 632 }); 633 ``` 634 635 636## contact.queryContact 637 638queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 639 640根据key查询联系人,使用callback方式作为异步方法。 641 642**需要权限**:ohos.permission.READ_CONTACTS 643 644**系统能力**:SystemCapability.Applications.ContactsData 645 646**参数:** 647 648| 参数名 | 类型 | 必填 | 说明 | 649| -------- | ---------------------------------------- | ---- | -------------------------------------- | 650| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 651| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 652| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 653| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | 654 655**示例:** 656 657 ```js 658 contact.queryContact('xxx', { 659 holderId: 0, 660 bundleName: "", 661 displayName: "" 662 }, { 663 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 664 }, (err, data) => { 665 if (err) { 666 console.log(`queryContact callback: err->${JSON.stringify(err)}`); 667 return; 668 } 669 console.log(`queryContact callback: success data->${JSON.stringify(data)}`); 670 }); 671 ``` 672 673 674## contact.queryContact 675 676queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact> 677 678根据key查询联系人,使用Promise方式作为异步方法。 679 680**需要权限**:ohos.permission.READ_CONTACTS 681 682**系统能力**:SystemCapability.Applications.ContactsData 683 684**参数:** 685 686| 参数名 | 类型 | 必填 | 说明 | 687| ------ | --------------------------------------- | ---- | -------------------------------------- | 688| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | 689| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | 690| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 691 692**返回值:** 693| 类型 | 说明 | 694| ---------------------------------- | ----------------------------------------------- | 695| Promise<[Contact](#contact)> | 以Promise形式返回结果,返回查询到的联系人对象。 | 696 697**示例:** 698 699 ```js 700 let promise = contact.queryContact('xxx', { 701 holderId: 0, 702 bundleName: "", 703 displayName: "" 704 }, { 705 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 706 }); 707 promise.then((data) => { 708 console.log(`queryContact success: data->${JSON.stringify(data)}`); 709 }).catch((err) => { 710 console.error(`queryContact fail: err->${JSON.stringify(err)}`); 711 }); 712 ``` 713 714 715## contact.queryContacts 716 717queryContacts(callback: AsyncCallback<Array<Contact>>): void 718 719查询所有联系人,使用callback方式作为异步方法。 720 721**需要权限**:ohos.permission.READ_CONTACTS 722 723**系统能力**:SystemCapability.Applications.ContactsData 724 725**参数:** 726 727| 参数名 | 类型 | 必填 | 说明 | 728| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | 729| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 730 731**示例:** 732 733 ```js 734 contact.queryContacts((err, data) => { 735 if (err) { 736 console.log(`queryContacts callback: err->${JSON.stringify(err)}`); 737 return; 738 } 739 console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); 740 }); 741 ``` 742 743 744## contact.queryContacts 745 746queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void 747 748查询所有联系人,使用callback方式作为异步方法。 749 750**需要权限**:ohos.permission.READ_CONTACTS 751 752**系统能力**:SystemCapability.Applications.ContactsData 753 754**参数:** 755 756| 参数名 | 类型 | 必填 | 说明 | 757| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | 758| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 759| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 760 761**示例:** 762 763 ```js 764 contact.queryContacts({ 765 holderId: 0, 766 bundleName: "", 767 displayName: "" 768 }, (err, data) => { 769 if (err) { 770 console.log(`queryContacts callback: err->${JSON.stringify(err)}`); 771 return; 772 } 773 console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); 774 }); 775 ``` 776 777 778## contact.queryContacts 779 780queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 781 782查询所有联系人,使用callback方式作为异步方法。 783 784**需要权限**:ohos.permission.READ_CONTACTS 785 786**系统能力**:SystemCapability.Applications.ContactsData 787 788**参数:** 789 790| 参数名 | 类型 | 必填 | 说明 | 791| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | 792| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 793| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 794 795**示例:** 796 797 ```js 798 contact.queryContacts({ 799 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 800 }, (err, data) => { 801 if (err) { 802 console.log(`queryContacts callback: err->${JSON.stringify(err)}`); 803 return; 804 } 805 console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); 806 }); 807 ``` 808 809 810## contact.queryContacts 811 812queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 813 814查询所有联系人,使用callback方式作为异步方法。 815 816**需要权限**:ohos.permission.READ_CONTACTS 817 818**系统能力**:SystemCapability.Applications.ContactsData 819 820**参数:** 821 822| 参数名 | 类型 | 必填 | 说明 | 823| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | 824| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 825| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 826| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 827 828**示例:** 829 830 ```js 831 contact.queryContacts({ 832 holderId: 0, 833 bundleName: "", 834 displayName: "" 835 }, { 836 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 837 }, (err, data) => { 838 if (err) { 839 console.log(`queryContacts callback: err->${JSON.stringify(err)}`); 840 return; 841 } 842 console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); 843 }); 844 ``` 845 846 847## contact.queryContacts 848 849queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 850 851查询所有联系人,使用Promise方式作为异步方法。 852 853**需要权限**:ohos.permission.READ_CONTACTS 854 855**系统能力**:SystemCapability.Applications.ContactsData 856 857**参数:** 858 859| 参数名 | 类型 | 必填 | 说明 | 860| ------ | --------------------------------------- | ---- | ---------------------- | 861| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | 862| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 863 864**返回值:** 865| 类型 | 说明 | 866| ----------------------------------------------- | --------------------------------------------------- | 867| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 | 868 869**示例:** 870 871 ```js 872 let promise = contact.queryContacts({ 873 holderId: 0, 874 bundleName: "", 875 displayName: "" 876 }, { 877 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 878 }); 879 promise.then((data) => { 880 console.log(`queryContacts success: data->${JSON.stringify(data)}`); 881 }).catch((err) => { 882 console.error(`queryContacts fail: err->${JSON.stringify(err)}`); 883 }); 884 ``` 885 886 887## contact.queryContactsByPhoneNumber 888 889queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void 890 891根据电话号码查询联系人,使用callback方式作为异步方法。 892 893**需要权限**:ohos.permission.READ_CONTACTS 894 895**系统能力**:SystemCapability.Applications.ContactsData 896 897**参数:** 898 899| 参数名 | 类型 | 必填 | 说明 | 900| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | 901| phoneNumber | string | 是 | 联系人的电话号码。 | 902| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 903 904**示例:** 905 906 ```js 907 contact.queryContactsByPhoneNumber('138xxxxxxxx', (err, data) => { 908 if (err) { 909 console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); 910 return; 911 } 912 console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); 913 }); 914 ``` 915 916 917## contact.queryContactsByPhoneNumber 918 919queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 920 921根据电话号码查询联系人,使用callback方式作为异步方法。 922 923**需要权限**:ohos.permission.READ_CONTACTS 924 925**系统能力**:SystemCapability.Applications.ContactsData 926 927**参数:** 928 929| 参数名 | 类型 | 必填 | 说明 | 930| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | 931| phoneNumber | string | 是 | 联系人的电话号码。 | 932| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 933| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 934 935**示例:** 936 937 ```js 938 contact.queryContactsByPhoneNumber('138xxxxxxxx', { 939 holderId: 0, 940 bundleName: "", 941 displayName: "" 942 }, (err, data) => { 943 if (err) { 944 console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); 945 return; 946 } 947 console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); 948 }); 949 ``` 950 951 952## contact.queryContactsByPhoneNumber 953 954queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 955 956根据电话号码查询联系人,使用callback方式作为异步方法。 957 958**需要权限**:ohos.permission.READ_CONTACTS 959 960**系统能力**:SystemCapability.Applications.ContactsData 961 962**参数:** 963 964| 参数名 | 类型 | 必填 | 说明 | 965| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | 966| phoneNumber | string | 是 | 联系人的电话号码。 | 967| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 968| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 969 970**示例:** 971 972 ```js 973 contact.queryContactsByPhoneNumber('138xxxxxxxx', { 974 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 975 }, (err, data) => { 976 if (err) { 977 console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); 978 return; 979 } 980 console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); 981 }); 982 ``` 983 984 985## contact.queryContactsByPhoneNumber 986 987queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 988 989根据电话号码查询联系人,使用callback方式作为异步方法。 990 991**需要权限**:ohos.permission.READ_CONTACTS 992 993**系统能力**:SystemCapability.Applications.ContactsData 994 995**参数:** 996 997| 参数名 | 类型 | 必填 | 说明 | 998| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | 999| phoneNumber | string | 是 | 联系人的电话号码。 | 1000| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1001| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1002| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 1003 1004**示例:** 1005 1006 ```js 1007 contact.queryContactsByPhoneNumber('138xxxxxxxx', { 1008 holderId: 0, 1009 bundleName: "", 1010 displayName: "" 1011 }, { 1012 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 1013 }, (err, data) => { 1014 if (err) { 1015 console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); 1016 return; 1017 } 1018 console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); 1019 }); 1020 ``` 1021 1022 1023## contact.queryContactsByPhoneNumber 1024 1025queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 1026 1027根据电话号码查询联系人,使用Promise方式作为异步方法。 1028 1029**需要权限**:ohos.permission.READ_CONTACTS 1030 1031**系统能力**:SystemCapability.Applications.ContactsData 1032 1033**参数:** 1034 1035| 参数名 | 类型 | 必填 | 说明 | 1036| ----------- | --------------------------------------- | ---- | ---------------------- | 1037| phoneNumber | string | 是 | 联系人的电话号码。 | 1038| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | 1039| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 1040 1041**返回值:** 1042 1043| 类型 | 说明 | 1044| ----------------------------------------------- | --------------------------------------------------- | 1045| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 | 1046 1047**示例:** 1048 1049 ```js 1050 let promise = contact.queryContactsByPhoneNumber('138xxxxxxxx', { 1051 holderId: 0, 1052 bundleName: "", 1053 displayName: "" 1054 }, { 1055 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 1056 }); 1057 promise.then((data) => { 1058 console.log(`queryContactsByPhoneNumber success: data->${JSON.stringify(data)}`); 1059 }).catch((err) => { 1060 console.error(`queryContactsByPhoneNumber fail: err->${JSON.stringify(err)}`); 1061 }); 1062 ``` 1063 1064 1065## contact.queryContactsByEmail 1066 1067queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact>>): void 1068 1069根据email查询联系人,使用callback方式作为异步方法。 1070 1071**需要权限**:ohos.permission.READ_CONTACTS 1072 1073**系统能力**:SystemCapability.Applications.ContactsData 1074 1075**参数:** 1076 1077| 参数名 | 类型 | 必填 | 说明 | 1078| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | 1079| email | string | 是 | 联系人的邮箱地址。 | 1080| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 1081 1082**示例:** 1083 1084 ```js 1085 contact.queryContactsByEmail('xxx@email.com', (err, data) => { 1086 if (err) { 1087 console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); 1088 return; 1089 } 1090 console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); 1091 }); 1092 ``` 1093 1094 1095## contact.queryContactsByEmail 1096 1097queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 1098 1099根据email查询联系人,使用callback方式作为异步方法。 1100 1101**需要权限**:ohos.permission.READ_CONTACTS 1102 1103**系统能力**:SystemCapability.Applications.ContactsData 1104 1105**参数:** 1106 1107| 参数名 | 类型 | 必填 | 说明 | 1108| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | 1109| email | string | 是 | 联系人的邮箱地址。 | 1110| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1111| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | 1112 1113**示例:** 1114 1115 ```js 1116 contact.queryContactsByEmail('xxx@email.com', { 1117 holderId: 0, 1118 bundleName: "", 1119 displayName: "" 1120 }, (err, data) => { 1121 if (err) { 1122 console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); 1123 return; 1124 } 1125 console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); 1126 }); 1127 ``` 1128 1129 1130## contact.queryContactsByEmail 1131 1132queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 1133 1134根据email查询联系人,使用callback方式作为异步方法。 1135 1136**需要权限**:ohos.permission.READ_CONTACTS 1137 1138**系统能力**:SystemCapability.Applications.ContactsData 1139 1140**参数:** 1141 1142| 参数名 | 类型 | 必填 | 说明 | 1143| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | 1144| email | string | 是 | 联系人的邮箱地址。 | 1145| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1146| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到联系人对象数组。 | 1147 1148**示例:** 1149 1150 ```js 1151 contact.queryContactsByEmail('xxx@email.com', { 1152 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 1153 }, (err, data) => { 1154 if (err) { 1155 console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); 1156 return; 1157 } 1158 console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); 1159 }); 1160 ``` 1161 1162 1163## contact.queryContactsByEmail 1164 1165queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 1166 1167根据email查询联系人,使用callback方式作为异步方法。 1168 1169**需要权限**:ohos.permission.READ_CONTACTS 1170 1171**系统能力**:SystemCapability.Applications.ContactsData 1172 1173**参数:** 1174 1175| 参数名 | 类型 | 必填 | 说明 | 1176| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | 1177| email | string | 是 | 联系人的邮箱地址。 | 1178| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1179| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | 1180| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到联系人对象数组。 | 1181 1182**示例:** 1183 1184 ```js 1185 contact.queryContactsByEmail('xxx@email.com', { 1186 holderId: 0, 1187 bundleName: "", 1188 displayName: "" 1189 }, { 1190 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 1191 }, (err, data) => { 1192 if (err) { 1193 console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); 1194 return; 1195 } 1196 console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); 1197 }); 1198 ``` 1199 1200 1201## contact.queryContactsByEmail 1202 1203queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 1204 1205根据email查询联系人,使用Promise方式作为异步方法。 1206 1207**需要权限**:ohos.permission.READ_CONTACTS 1208 1209**系统能力**:SystemCapability.Applications.ContactsData 1210 1211**参数:** 1212 1213| 参数名 | 类型 | 必填 | 说明 | 1214| ------ | --------------------------------------- | ---- | ---------------------- | 1215| email | string | 是 | 联系人的邮箱地址。 | 1216| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | 1217| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | 1218 1219**返回值:** 1220 1221| 类型 | 说明 | 1222| ----------------------------------------------- | --------------------------------------------------- | 1223| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 | 1224 1225**示例:** 1226 1227 ```js 1228 let promise = contact.queryContactsByEmail('xxx@email.com', { 1229 holderId: 0, 1230 bundleName: "", 1231 displayName: "" 1232 }, { 1233 attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] 1234 }); 1235 promise.then((data) => { 1236 console.log(`queryContactsByEmail success: data->${JSON.stringify(data)}`); 1237 }).catch((err) => { 1238 console.error(`queryContactsByEmail fail: err->${JSON.stringify(err)}`); 1239 }); 1240 ``` 1241 1242 1243## contact.queryGroups 1244 1245queryGroups(callback: AsyncCallback<Array<Group>>): void 1246 1247查询联系人的所有群组,使用callback方式作为异步方法。 1248 1249**需要权限**:ohos.permission.READ_CONTACTS 1250 1251**系统能力**:SystemCapability.Applications.ContactsData 1252 1253**参数:** 1254 1255| 参数名 | 类型 | 必填 | 说明 | 1256| -------- | ------------------------------------------------- | ---- | ------------------------------------ | 1257| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数,返回查询到的群组对象数组。 | 1258 1259**示例:** 1260 1261 ```js 1262 contact.queryGroups((err, data) => { 1263 if (err) { 1264 console.log(`queryGroups callback: err->${JSON.stringify(err)}`); 1265 return; 1266 } 1267 console.log(`queryGroups callback: success data->${JSON.stringify(data)}`); 1268 }); 1269 ``` 1270 1271 1272## contact.queryGroups 1273 1274queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): void 1275 1276查询联系人的所有群组,使用callback方式作为异步方法。 1277 1278**需要权限**:ohos.permission.READ_CONTACTS 1279 1280**系统能力**:SystemCapability.Applications.ContactsData 1281 1282**参数:** 1283 1284| 参数名 | 类型 | 必填 | 说明 | 1285| -------- | ------------------------------------------------- | ---- | ------------------------------------ | 1286| holder | Holder | 是 | 创建联系人的应用信息。 | 1287| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数,返回查询到的群组对象数组。 | 1288 1289**示例:** 1290 1291 ```js 1292 contact.queryGroups({ 1293 holderId: 0, 1294 bundleName: "", 1295 displayName: "" 1296 }, (err, data) => { 1297 if (err) { 1298 console.log(`queryGroups callback: err->${JSON.stringify(err)}`); 1299 return; 1300 } 1301 console.log(`queryGroups callback: success data->${JSON.stringify(data)}`); 1302 }); 1303 ``` 1304 1305 1306## contact.queryGroups 1307 1308queryGroups(holder?: Holder): Promise<Array<Group>> 1309 1310查询联系人的所有群组,使用Promise方式作为异步方法。 1311 1312**需要权限**:ohos.permission.READ_CONTACTS 1313 1314**系统能力**:SystemCapability.Applications.ContactsData 1315 1316**参数:** 1317 1318| 参数名 | 类型 | 必填 | 说明 | 1319| ------ | ----------------- | ---- | ---------------------- | 1320| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | 1321 1322**返回值:** 1323 1324| 类型 | 说明 | 1325| ------------------------------------------- | ------------------------------------------------- | 1326| Promise<Array<[Group](#group)>> | 以Promise形式返回结果,返回查询到的群组对象数组。 | 1327 1328**示例:** 1329 1330 ```js 1331 let promise = contact.queryGroups({ 1332 holderId: 0, 1333 bundleName: "", 1334 displayName: "" 1335 }); 1336 promise.then((data) => { 1337 console.log(`queryGroups success: data->${JSON.stringify(data)}`); 1338 }).catch((err) => { 1339 console.error(`queryGroups fail: err->${JSON.stringify(err)}`); 1340 }); 1341 ``` 1342 1343 1344## contact.queryHolders 1345 1346queryHolders(callback: AsyncCallback<Array<Holder>>): void 1347 1348查询所有创建联系人的应用信息,使用callback方式作为异步方法。 1349 1350**需要权限**:ohos.permission.READ_CONTACTS 1351 1352**系统能力**:SystemCapability.Applications.ContactsData 1353 1354**参数:** 1355 1356| 参数名 | 类型 | 必填 | 说明 | 1357| -------- | --------------------------------------------------- | ---- | ---------------------------------------------------- | 1358| callback | AsyncCallback<Array<[Holder](#holder)>> | 是 | 回调函数,返回查询到的创建联系人应用信息的对象数组。 | 1359 1360**示例:** 1361 1362 ```js 1363 contact.queryHolders((err, data) => { 1364 if (err) { 1365 console.log(`queryHolders callback: err->${JSON.stringify(err)}`); 1366 return; 1367 } 1368 console.log(`queryHolders callback: success data->${JSON.stringify(data)}`); 1369 }); 1370 ``` 1371 1372 1373## contact.queryHolders 1374 1375queryHolders(): Promise<Array<Holder>> 1376 1377查询所有创建联系人的应用信息,使用Promise方式作为异步方法。 1378 1379**需要权限**:ohos.permission.READ_CONTACTS 1380 1381**系统能力**:SystemCapability.Applications.ContactsData 1382 1383**返回值:** 1384 1385| 类型 | 说明 | 1386| --------------------------------------------- | ------------------------------------------------------------ | 1387| Promise<Array<[Holder](#holder)>> | 以Promise形式返回结果,返回查询到的创建联系人应用信息的对象数组。 | 1388 1389**示例:** 1390 1391 ```js 1392 let promise = contact.queryHolders(); 1393 promise.then((data) => { 1394 console.log(`queryHolders success: data->${JSON.stringify(data)}`); 1395 }).catch((err) => { 1396 console.error(`queryHolders fail: err->${JSON.stringify(err)}`); 1397 }); 1398 ``` 1399 1400 1401## contact.queryKey 1402 1403queryKey(id: number, callback: AsyncCallback<string>): void 1404 1405根据联系人的id查询联系人的key,使用callback方式作为异步方法。 1406 1407**需要权限**:ohos.permission.READ_CONTACTS 1408 1409**系统能力**:SystemCapability.Applications.ContactsData 1410 1411**参数:** 1412 1413| 参数名 | 类型 | 必填 | 说明 | 1414| -------- | --------------------------- | ---- | --------------------------------------- | 1415| id | number | 是 | 联系人对象的id属性。 | 1416| callback | AsyncCallback<string> | 是 | 回调函数,返回查询到的联系人对应的key。 | 1417 1418**示例:** 1419 1420 ```js 1421 contact.queryKey(/*id*/1, (err, data) => { 1422 if (err) { 1423 console.log(`queryKey callback: err->${JSON.stringify(err)}`); 1424 return; 1425 } 1426 console.log(`queryKey callback: success data->${JSON.stringify(data)}`); 1427 }); 1428 ``` 1429 1430 1431## contact.queryKey 1432 1433queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): void 1434 1435根据联系人的id查询联系人的key,使用callback方式作为异步方法。 1436 1437**需要权限**:ohos.permission.READ_CONTACTS 1438 1439**系统能力**:SystemCapability.Applications.ContactsData 1440 1441**参数:** 1442 1443| 参数名 | 类型 | 必填 | 说明 | 1444| -------- | --------------------------- | ---- | --------------------------------------- | 1445| id | number | 是 | 联系人对象的id属性。 | 1446| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | 1447| callback | AsyncCallback<string> | 是 | 回调函数,返回查询到的联系人对应的key。 | 1448 1449**示例:** 1450 1451 ```js 1452 contact.queryKey(/*id*/1, { 1453 holderId: 0, 1454 bundleName: "", 1455 displayName: "" 1456 }, (err, data) => { 1457 if (err) { 1458 console.log(`queryKey callback: err->${JSON.stringify(err)}`); 1459 return; 1460 } 1461 console.log(`queryKey callback: success data->${JSON.stringify(data)}`); 1462 }); 1463 ``` 1464 1465 1466## contact.queryKey 1467 1468queryKey(id: number, holder?: Holder): Promise<string> 1469 1470根据联系人的id查询联系人的key,使用Promise方式作为异步方法。 1471 1472**需要权限**:ohos.permission.READ_CONTACTS 1473 1474**系统能力**:SystemCapability.Applications.ContactsData 1475 1476**参数:** 1477 1478| 参数名 | 类型 | 必填 | 说明 | 1479| ------ | ----------------- | ---- | ---------------------- | 1480| id | number | 是 | 联系人对象的id属性。 | 1481| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | 1482 1483**返回值:** 1484 1485| 类型 | 说明 | 1486| --------------------- | ---------------------------------------------------- | 1487| Promise<string> | 以Promise形式返回结果,返回查询到的联系人对应的key。 | 1488 1489**示例:** 1490 1491 ```js 1492 let promise = contact.queryKey(/*id*/1, { 1493 holderId: 0, 1494 bundleName: "", 1495 displayName: "" 1496 }); 1497 promise.then((data) => { 1498 console.log(`queryKey success: data->${JSON.stringify(data)}`); 1499 }).catch((err) => { 1500 console.error(`queryKey fail: err->${JSON.stringify(err)}`); 1501 }); 1502 ``` 1503 1504 1505## Contact 1506 1507联系人对象类。 1508 1509**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1510 1511### 常量 1512 1513| 名称 | 值 | 说明 | 1514| ------------------ | ---- | ---------------- | 1515| INVALID_CONTACT_ID | -1 | 默认联系人的id。 | 1516 1517 1518### 属性 1519 1520| 名称 | 类型 | 可读 | 可写 | 说明 | 1521| ----------------- | --------------------------------------- | ---- | ---- | -------------------------------------- | 1522| id | number | 是 | 否 | 联系人的id。 | 1523| key | string | 是 | 否 | 联系人的key。 | 1524| contactAttributes | [ContactAttributes](#contactattributes) | 是 | 是 | 联系人的属性列表。 | 1525| emails | [Email](#email)[] | 是 | 是 | 联系人的邮箱地址列表。 | 1526| events | [Event](#event)[] | 是 | 是 | 联系人的生日、周年纪念等重要日期列表。 | 1527| groups | [Group](#group)[] | 是 | 是 | 联系人的群组列表。 | 1528| imAddresses | [ImAddress](#imaddress)[] | 是 | 是 | 联系人的即时消息地址列表。 | 1529| phoneNumbers | [PhoneNumber](#phonenumber)[] | 是 | 是 | 联系人的电话号码列表。 | 1530| portrait | [Portrait](#portrait) | 是 | 是 | 联系人的头像。 | 1531| postalAddresses | [PostalAddress](#postaladdress)[] | 是 | 是 | 联系人的邮政地址列表。 | 1532| relations | [Relation](#relation)[] | 是 | 是 | 联系人的关系列表。 | 1533| sipAddresses | [SipAddress](#sipaddress)[] | 是 | 是 | 联系人的会话发起协议(SIP)地址列表。 | 1534| websites | [Website](#website)[] | 是 | 是 | 联系人的网站列表。 | 1535| name | [Name](#name) | 是 | 是 | 联系人的姓名。 | 1536| nickName | [NickName](#nickname) | 是 | 是 | 联系人的昵称。 | 1537| note | [Note](#note) | 是 | 是 | 联系人的备注。 | 1538| organization | [Organization](#organization) | 是 | 是 | 联系人的组织信息。 | 1539 1540 1541**对象创建示例:** 1542 1543使用JSON格式创建联系人数据: 1544 1545 1546```js 1547let myContact = { 1548 phoneNumbers: [{ 1549 phoneNumber: "138xxxxxxxx" 1550 }], 1551 name: { 1552 fullName: "fullName", 1553 namePrefix: "namePrefix" 1554 }, 1555 nickName: { 1556 nickName: "nickName" 1557 } 1558}; 1559``` 1560 1561 1562 或使用new一个Contact对象的方式创建数据: 1563 1564```js 1565let myContact = new contact.Contact(); 1566let name = new contact.Name(); 1567name.fullName = "fullName"; 1568let phoneNumber = new contact.PhoneNumber(); 1569phoneNumber.phoneNumber = "138xxxxxxxx"; 1570myContact.name = name; 1571myContact.phoneNumbers = [phoneNumber]; 1572``` 1573 1574 1575## ContactAttributes 1576 1577联系人属性列表,一般作为入参用来标识希望查询的联系人属性。 1578当传入为null时,默认查询全部属性。 1579 1580**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1581 1582| 名称 | 类型 | 可读 | 可写 | 说明 | 1583| ---------- | ------------------------- | ---- | ---- | ---------------- | 1584| attributes | [Attribute](#attribute)[] | 是 | 是 | 联系人属性列表。 | 1585 1586 1587**对象创建示例:** 1588 1589使用JSON格式创建数据: 1590 1591 1592```js 1593let contactAttributes = { 1594 attributes: [ 1595 contact.Attribute.ATTR_EMAIL, 1596 contact.Attribute.ATTR_NAME, 1597 contact.Attribute.ATTR_PHONE 1598 ] 1599}; 1600``` 1601 1602或使用new一个ContactAttributes对象的方式创建数据: 1603 1604 1605```js 1606let contactAttributes = new contact.ContactAttributes(); 1607contactAttributes.attributes = [contact.Attribute.ATTR_EMAIL]; 1608``` 1609 1610 1611## Attribute 1612 1613枚举,联系人属性列表。 1614 1615**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1616 1617| 名称 | 说明 | 1618| --------------------- | ---------------------------------- | 1619| ATTR_CONTACT_EVENT | 联系人的生日、周年纪念等重要日期。 | 1620| ATTR_EMAIL | 联系人的邮箱地址。 | 1621| ATTR_GROUP_MEMBERSHIP | 联系人的群组。 | 1622| ATTR_IM | 联系人的即时消息地址。 | 1623| ATTR_NAME | 联系人的姓名。 | 1624| ATTR_NICKNAME | 联系人的昵称。 | 1625| ATTR_NOTE | 联系人的备注。 | 1626| ATTR_ORGANIZATION | 联系人的组织信息。 | 1627| ATTR_PHONE | 联系人的电话号码。 | 1628| ATTR_PORTRAIT | 联系人的头像。 | 1629| ATTR_POSTAL_ADDRESS | 联系人的邮政地址。 | 1630| ATTR_RELATION | 联系人的关系。 | 1631| ATTR_SIP_ADDRESS | 联系人的会话发起协议(SIP)地址。 | 1632| ATTR_WEBSITE | 联系人的网站。 | 1633 1634 1635**对象创建示例:** 1636 1637使用JSON格式创建数据: 1638 1639```js 1640let attributes = [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME, contact.Attribute.ATTR_PHONE]; 1641``` 1642 1643 1644## Email 1645 1646联系人的邮箱。 1647 1648**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1649 1650### 常量 1651 1652| 名称 | 值 | 说明 | 1653| ---------------- | ---- | ---------------- | 1654| CUSTOM_LABEL | 0 | 自定义邮箱类型。 | 1655| EMAIL_HOME | 1 | 家庭邮箱类型。 | 1656| EMAIL_WORK | 2 | 工作邮箱类型。 | 1657| EMAIL_OTHER | 3 | 其它邮箱类型。 | 1658| INVALID_LABEL_ID | -1 | 无效邮箱类型。 | 1659 1660 1661### 属性 1662 1663| 名称 | 类型 | 可读 | 可写 | 说明 | 1664| ----------- | -------- | ---- | ---- | ---------------- | 1665| email | string | 是 | 是 | 邮箱地址。 | 1666| labelName | string | 是 | 是 | 邮箱的类型名称。 | 1667| displayName | string | 是 | 是 | 邮箱的显示名称。 | 1668| labelId | number | 是 | 是 | 邮箱的类型。 | 1669 1670 1671**对象创建示例:** 1672 1673 使用JSON格式创建数据: 1674 1675```js 1676let email = { 1677 email: "xxx@email.com", 1678 displayName: "displayName" 1679} 1680``` 1681 1682 1683 或使用new一个Email对象的方式创建数据: 1684 1685```js 1686let email = new contact.Email(); 1687email.email = "xxx@email.com"; 1688``` 1689 1690 1691## Holder 1692 1693创建联系人的应用信息类。 1694 1695**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1696 1697| 名称 | 类型 | 可读 | 可写 | 说明 | 1698| ----------- | -------- | ---- | ---- | ---------- | 1699| bundleName | string | 是 | 否 | 包名。 | 1700| displayName | string | 是 | 否 | 应用名称。 | 1701| holderId | number | 是 | 是 | 应用id。 | 1702 1703 1704**对象创建示例:** 1705 1706 使用JSON格式创建数据: 1707 1708```js 1709let holder = { 1710 holderId: 0 1711}; 1712``` 1713 1714 或使用new一个Holder对象的方式创建数据: 1715 1716```js 1717let holder = new contact.Holder(); 1718holder.holderId = 0; 1719``` 1720 1721 1722## Event 1723 1724联系人事件类。 1725 1726**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1727 1728### 常量 1729 1730| 名称 | 值 | 说明 | 1731| ----------------- | ---- | ------------------ | 1732| CUSTOM_LABEL | 0 | 自定义事件类型。 | 1733| EVENT_ANNIVERSARY | 1 | 周年纪念事件类型。 | 1734| EVENT_OTHER | 2 | 其它事件类型。 | 1735| EVENT_BIRTHDAY | 3 | 生日事件类型。 | 1736| INVALID_LABEL_ID | -1 | 无效事件类型。 | 1737 1738 1739### 属性 1740 1741| 名称 | 类型 | 可读 | 可写 | 说明 | 1742| --------- | -------- | ---- | ---- | -------------- | 1743| eventDate | string | 是 | 是 | 事件的日期。 | 1744| labelName | string | 是 | 是 | 事件类型名称。 | 1745| labelId | number | 是 | 是 | 事件类型。 | 1746 1747 1748**对象创建示例:** 1749 1750 使用JSON格式创建数据: 1751 1752```js 1753let event = { 1754 eventDate: "xxxxxx" 1755}; 1756``` 1757 1758 或使用new一个Event对象的方式创建数据: 1759 1760```js 1761let event = new contact.Event(); 1762event.eventDate = "xxxxxx"; 1763``` 1764 1765 1766## Group 1767 1768联系人的群组类。 1769 1770**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1771 1772| 名称 | 类型 | 可读 | 可写 | 说明 | 1773| ------- | -------- | ---- | ---- | ------------------ | 1774| groupId | number | 是 | 是 | 联系人群组的id。 | 1775| title | string | 是 | 是 | 联系人群组的名称。 | 1776 1777 1778**对象创建示例:** 1779 1780 使用JSON格式创建数据: 1781 1782```js 1783let group = { 1784 groupId: 1, 1785 title: "title" 1786}; 1787``` 1788 1789 或使用new一个Group对象的方式创建数据: 1790 1791```js 1792let group = new contact.Group(); 1793group.title = "title"; 1794``` 1795 1796 1797## ImAddress 1798 1799联系人的即时消息地址。 1800 1801**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1802 1803### 常量 1804 1805| 名称 | 值 | 说明 | 1806| ---------------- | ---- | -------------------- | 1807| CUSTOM_LABEL | -1 | 自定义即时消息类型。 | 1808| IM_AIM | 0 | AIM即时消息类型。 | 1809| IM_MSN | 1 | MSN即时消息类型。 | 1810| IM_YAHOO | 2 | YAHOO即时消息类型。 | 1811| IM_SKYPE | 3 | SKYPE即时消息类型。 | 1812| IM_QQ | 4 | QQ即时消息类型。 | 1813| IM_ICQ | 6 | ICQ即时消息类型。 | 1814| IM_JABBER | 7 | JABBER即时消息类型。 | 1815| INVALID_LABEL_ID | -2 | 无效的即时消息类型。 | 1816 1817 1818### 属性 1819 1820| 名称 | 类型 | 可读 | 可写 | 说明 | 1821| --------- | -------- | ---- | ---- | ------------------ | 1822| imAddress | string | 是 | 是 | 即时消息地址。 | 1823| labelName | string | 是 | 是 | 即时消息类型名称。 | 1824| labelId | number | 是 | 是 | 即时消息类型。 | 1825 1826 1827**对象创建示例:** 1828 1829 使用JSON格式创建数据: 1830 1831```js 1832let imAddress = { 1833 imAddress: "imAddress", 1834 labelName: "labelName" 1835}; 1836``` 1837 1838 1839 或使用new一个ImAddress对象的方式创建数据: 1840 1841```js 1842let imAddress = new contact.ImAddress(); 1843imAddress.imAddress = "imAddress"; 1844``` 1845 1846 1847## Name 1848 1849联系人的名字类。 1850 1851**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1852 1853| 名称 | 类型 | 可读 | 可写 | 说明 | 1854| ------------------ | -------- | ---- | ---- | --------------------------- | 1855| familyName | string | 是 | 是 | 联系人的家庭姓名。 | 1856| familyNamePhonetic | string | 是 | 是 | 联系人的家庭姓名拼音。 | 1857| fullName | string | 是 | 是 | 联系人的全名。 | 1858| givenName | string | 是 | 是 | 联系人的名称(firstName)。 | 1859| givenNamePhonetic | string | 是 | 是 | 联系人的名称拼音。 | 1860| middleName | string | 是 | 是 | 联系人的中间名。 | 1861| middleNamePhonetic | string | 是 | 是 | 联系人的中间名拼音。 | 1862| namePrefix | string | 是 | 是 | 联系人的姓名前缀。 | 1863| nameSuffix | string | 是 | 是 | 联系人的姓名后缀。 | 1864 1865 1866**对象创建示例:** 1867 1868 使用JSON格式创建数据: 1869 1870```js 1871let name = { 1872 familyName: "familyName", 1873 fullName: "fullName" 1874}; 1875``` 1876 1877 或使用new一个name对象的方式创建数据: 1878 1879```js 1880let name = new contact.Name(); 1881name.familyName = "familyName"; 1882name.fullName = "fullName"; 1883``` 1884 1885 1886## NickName 1887 1888联系人的昵称类。 1889 1890**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1891 1892| 名称 | 类型 | 可读 | 可写 | 说明 | 1893| -------- | -------- | ---- | ---- | -------------- | 1894| nickName | string | 是 | 是 | 联系人的昵称。 | 1895 1896 1897**对象创建示例:** 1898 1899 使用JSON格式创建数据: 1900 1901```js 1902let nickName = { 1903 nickName: "nickName" 1904}; 1905``` 1906 1907 或使用new一个NickName对象的方式创建数据: 1908 1909```js 1910let nickName = new contact.NickName(); 1911nickName.nickName = "nickName"; 1912``` 1913 1914 1915## Note 1916 1917联系人的备注类。 1918 1919**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1920 1921| 名称 | 类型 | 可读 | 可写 | 说明 | 1922| ----------- | -------- | ---- | ---- | ------------------ | 1923| noteContent | string | 是 | 是 | 联系人的备注内容。 | 1924 1925 1926**对象创建示例:** 1927 1928 使用JSON格式创建数据: 1929 1930```js 1931let note = { 1932 noteContent: "noteContent" 1933}; 1934``` 1935 1936 或使用new一个Note对象的方式创建数据: 1937 1938```js 1939let note = new contact.Note(); 1940note.noteContent = "noteContent"; 1941``` 1942 1943 1944## Organization 1945 1946联系人的组织类。 1947 1948**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1949 1950| 名称 | 类型 | 可读 | 可写 | 说明 | 1951| ----- | -------- | ---- | ---- | ---------- | 1952| name | string | 是 | 是 | 组织名称。 | 1953| title | string | 是 | 是 | 组织标题。 | 1954 1955 1956**对象创建示例:** 1957 1958 使用JSON格式创建数据: 1959 1960```js 1961let organization = { 1962 name: "name", 1963 title: "title" 1964}; 1965``` 1966 1967 或使用new一个Organization对象的方式创建数据: 1968 1969```js 1970let organization = new contact.Organization(); 1971organization.name = "name"; 1972organization.title = "title"; 1973``` 1974 1975 1976## PhoneNumber 1977 1978联系人电话号码类。 1979 1980**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 1981 1982### 常量 1983 1984| 名称 | 值 | 说明 | 1985| ---------------- | ---- | ------------------------------------------------ | 1986| CUSTOM_LABEL | 0 | 自定义电话类型。 | 1987| NUM_HOME | 1 | 家庭电话类型。 | 1988| NUM_MOBILE | 2 | 移动电话类型。 | 1989| NUM_WORK | 3 | 工作电话类型。 | 1990| NUM_FAX_WORK | 4 | 工作传真电话类型。 | 1991| NUM_FAX_HOME | 5 | 家庭传真电话类型。 | 1992| NUM_PAGER | 6 | 寻呼机电话类型。 | 1993| NUM_OTHER | 7 | 其它电话类型。 | 1994| NUM_CALLBACK | 8 | 回呼电话类型。 | 1995| NUM_CAR | 9 | 车机电话类型。 | 1996| NUM_COMPANY_MAIN | 10 | 公司电话类型。 | 1997| NUM_ISDN | 11 | 综合业务数字网(ISDN)电话类型。 | 1998| NUM_MAIN | 12 | 主电话类型。 | 1999| NUM_OTHER_FAX | 13 | 其它传真类型。 | 2000| NUM_RADIO | 14 | 无线电话类型。 | 2001| NUM_TELEX | 15 | 电传电话类型。 | 2002| NUM_TTY_TDD | 16 | 电传打字机(TTY)或测试驱动开发(TDD)电话类型。 | 2003| NUM_WORK_MOBILE | 17 | 工作移动电话类型。 | 2004| NUM_WORK_PAGER | 18 | 工作寻呼机电话类型。 | 2005| NUM_ASSISTANT | 19 | 助理电话类型。 | 2006| NUM_MMS | 20 | 彩信电话类型。 | 2007| INVALID_LABEL_ID | -1 | 无效电话类型。 | 2008 2009 2010### 属性 2011 2012| 名称 | 类型 | 可读 | 可写 | 说明 | 2013| ----------- | -------- | ---- | ---- | ------------------ | 2014| labelName | string | 是 | 是 | 电话号码类型名称。 | 2015| phoneNumber | string | 是 | 是 | 电话号码。 | 2016| labelId | number | 是 | 是 | 电话号码类型。 | 2017 2018 2019**对象创建示例:** 2020 2021 使用JSON格式创建数据: 2022 2023```js 2024let phoneNumber = { 2025 phoneNumber: "138xxxxxxxx", 2026 labelId: contact.PhoneNumber.NUM_HOME 2027}; 2028``` 2029 2030 或使用new一个PhoneNumber对象的方式创建数据: 2031 2032```js 2033let phoneNumber = new contact.PhoneNumber(); 2034phoneNumber.phoneNumber = "138xxxxxxxx"; 2035``` 2036 2037 2038## Portrait 2039 2040联系人的头像类。 2041 2042**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 2043 2044| 名称 | 类型 | 可读 | 可写 | 说明 | 2045| ---- | -------- | ---- | ---- | -------------- | 2046| uri | string | 是 | 是 | 联系人的头像。 | 2047 2048 2049**对象创建示例:** 2050 2051 使用JSON格式创建数据: 2052 2053```js 2054let portrait = { 2055 uri: "uri" 2056}; 2057``` 2058 2059 或使用new一个Portrait对象的方式创建数据: 2060 2061```js 2062let portrait = new contact.Portrait(); 2063portrait.uri = "uri"; 2064``` 2065 2066 2067## PostalAddress 2068 2069联系人的邮政地址类。 2070 2071**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 2072 2073### 常量 2074 2075| 名称 | 值 | 说明 | 2076| ---------------- | ---- | -------------------- | 2077| CUSTOM_LABEL | 0 | 自定义邮政地址类型。 | 2078| ADDR_HOME | 1 | 家庭地址类型。 | 2079| ADDR_WORK | 2 | 工作地址类型。 | 2080| ADDR_OTHER | 3 | 其它地址类型。 | 2081| INVALID_LABEL_ID | -1 | 无效地址类型。 | 2082 2083 2084### 属性 2085 2086| 名称 | 类型 | 可读 | 可写 | 说明 | 2087| ------------- | -------- | ---- | ---- | -------------------------- | 2088| city | string | 是 | 是 | 联系人所在的城市。 | 2089| country | string | 是 | 是 | 联系人所在的国家。 | 2090| labelName | string | 是 | 是 | 邮政地址类型名称。 | 2091| neighborhood | string | 是 | 是 | 联系人的邻居。 | 2092| pobox | string | 是 | 是 | 联系人的邮箱。 | 2093| postalAddress | string | 是 | 是 | 联系人的邮政地址。 | 2094| postcode | string | 是 | 是 | 联系人所在区域的邮政编码。 | 2095| region | string | 是 | 是 | 联系人所在的区域。 | 2096| street | string | 是 | 是 | 联系人所在的街道。 | 2097| labelId | number | 是 | 是 | 邮政地址名称。 | 2098 2099 2100**对象创建示例:** 2101 2102 使用JSON格式创建数据: 2103 2104```js 2105let postalAddress = { 2106 city: "city" 2107}; 2108``` 2109 2110 或使用new一个PostalAddress对象的方式创建数据: 2111 2112```js 2113let postalAddress = new contact.PostalAddress(); 2114postalAddress.city = "city"; 2115``` 2116 2117 2118## Relation 2119 2120联系人的关系类。 2121 2122**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 2123 2124### 常量 2125 2126| 名称 | 值 | 说明 | 2127| ------------------------- | ---- | ------------------ | 2128| CUSTOM_LABEL | 0 | 自定义关系类型。 | 2129| RELATION_ASSISTANT | 1 | 助手关系类型。 | 2130| RELATION_BROTHER | 2 | 兄弟关系类型。 | 2131| RELATION_CHILD | 3 | 子女关系类型。 | 2132| RELATION_DOMESTIC_PARTNER | 4 | 同居同伴关系类型。 | 2133| RELATION_FATHER | 5 | 父亲关系类型。 | 2134| RELATION_FRIEND | 6 | 朋友关系类型。 | 2135| RELATION_MANAGER | 7 | 管理者关系类型。 | 2136| RELATION_MOTHER | 8 | 母亲关系类型。 | 2137| RELATION_PARENT | 9 | 父母关系类型。 | 2138| RELATION_PARTNER | 10 | 合作伙伴关系类型。 | 2139| RELATION_REFERRED_BY | 11 | 推荐人关系类型。 | 2140| RELATION_RELATIVE | 12 | 亲属关系类型。 | 2141| RELATION_SISTER | 13 | 姐妹关系类型。 | 2142| RELATION_SPOUSE | 14 | 配偶关系类型。 | 2143| INVALID_LABEL_ID | -1 | 无效的关系类型。 | 2144 2145 2146### 属性 2147 2148| 名称 | 类型 | 可读 | 可写 | 说明 | 2149| ------------ | -------- | ---- | ---- | -------------- | 2150| labelName | string | 是 | 是 | 关系类型名称。 | 2151| relationName | string | 是 | 是 | 关系名称。 | 2152| labelId | number | 是 | 是 | 关系类型。 | 2153 2154 2155**对象创建示例:** 2156 2157 使用JSON格式创建数据: 2158 2159```js 2160let relation = { 2161 relationName: "relationName", 2162 labelId: contact.Relation.RELATION_ASSISTANT 2163}; 2164``` 2165 2166 或使用new一个Relation对象的方式创建数据: 2167 2168```js 2169let relation = new contact.Relation(); 2170relation.relationName = "relationName"; 2171relation.labelId = contact.Relation.RELATION_ASSISTANT; 2172``` 2173 2174 2175## SipAddress 2176 2177联系人的会话发起协议(SIP)地址类。 2178 2179**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 2180 2181### 常量 2182 2183| 名称 | 值 | 说明 | 2184| ---------------- | ---- | ----------------------------------- | 2185| CUSTOM_LABEL | 0 | 自定义会话发起协议(SIP)地址类型。 | 2186| SIP_HOME | 1 | 家庭会话发起协议(SIP)地址类型。 | 2187| SIP_WORK | 2 | 工作会话发起协议(SIP)地址类型。 | 2188| SIP_OTHER | 3 | 其它会话发起协议(SIP)地址类型。 | 2189| INVALID_LABEL_ID | -1 | 无效会话发起协议(SIP)地址类型。 | 2190 2191 2192### 属性 2193 2194| 名称 | 类型 | 可读 | 可写 | 说明 | 2195| ---------- | -------- | ---- | ---- | --------------------------------- | 2196| labelName | string | 是 | 是 | 会话发起协议(SIP)地址类型名称。 | 2197| sipAddress | string | 是 | 是 | 会话发起协议(SIP)地址。 | 2198| labelId | number | 是 | 是 | 会话发起协议(SIP)地址类型。 | 2199 2200**对象创建示例:** 2201 2202 使用JSON格式创建数据: 2203 2204```js 2205var sipAddress = { 2206 sipAddress: "sipAddress" 2207}; 2208``` 2209 2210 或使用new一个SipAddress对象的方式创建数据: 2211 2212```js 2213let sipAddress = new contact.SipAddress(); 2214sipAddress.sipAddress = "sipAddress"; 2215``` 2216 2217 2218## Website 2219 2220联系人的网站信息类。 2221 2222**系统能力**:以下各项对应的系统能力均为SystemCapability.Applications.ContactsData。 2223 2224| 名称 | 类型 | 可读 | 可写 | 说明 | 2225| ------- | -------- | ---- | ---- | ------------------ | 2226| website | string | 是 | 是 | 联系人的网站信息。 | 2227 2228 2229**对象创建示例:** 2230 2231 使用JSON格式创建数据: 2232 2233```js 2234let website = { 2235 website: "website" 2236}; 2237``` 2238 2239 或使用new一个Website对象的方式创建数据: 2240 2241```js 2242let website = new contact.Website(); 2243website.website = "website"; 2244``` 2245