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