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