未验证 提交 1772b682 编写于 作者: O openharmony_ci 提交者: Gitee

!22763 联系人API10接口文档更新

Merge pull request !22763 from zhouhongli2023/master
...@@ -13,12 +13,64 @@ ...@@ -13,12 +13,64 @@
import contact from '@ohos.contact'; import contact from '@ohos.contact';
``` ```
## contact.addContact ## contact.addContact<sup>10+</sup>
addContact(context: Context, contact: Contact, callback: AsyncCallback&lt;number&gt;>): void
添加联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| contact | [Contact](#contact) | 是 | 联系人信息。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调函数,返回添加的联系人id。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.addContact(
globalThis.context as Context,
{name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
}, (err, data) => {
if (err) {
console.log(`addContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`addContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.addContact(deprecated)<sup>7+</sup>
addContact(contact:Contact, callback:AsyncCallback&lt;number&gt;): void addContact(contact:Contact, callback:AsyncCallback&lt;number&gt;): void
添加联系人,使用callback方式作为异步方法。 添加联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10)
**需要权限**:ohos.permission.WRITE_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -45,13 +97,68 @@ addContact(contact:Contact, callback:AsyncCallback&lt;number&gt;): void ...@@ -45,13 +97,68 @@ addContact(contact:Contact, callback:AsyncCallback&lt;number&gt;): void
}); });
``` ```
## contact.addContact<sup>10+</sup>
addContact(context: Context, contact: Contact): Promise<number&gt;
添加联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| contact | [Contact](#contact) | 是 | 联系人信息。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------------------------------------- |
| Promise&lt;number&gt; | 以Promise形式返回结果,返回添加的联系人id。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.addContact(
globalThis.context as Context,
{name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
});
promise.then((data) => {
console.log(`addContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`addContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.addContact ## contact.addContact(deprecated)<sup>7+</sup>
addContact(contact: Contact): Promise&lt;number&gt; addContact(contact: Contact): Promise&lt;number&gt;
添加联系人,使用Promise方式作为异步方法。 添加联系人,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[addContact](#contactaddcontact10)
**需要权限**:ohos.permission.WRITE_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -82,13 +189,60 @@ addContact(contact: Contact): Promise&lt;number&gt; ...@@ -82,13 +189,60 @@ addContact(contact: Contact): Promise&lt;number&gt;
}); });
``` ```
## contact.deleteContact<sup>10+</sup>
deleteContact(context: Context, key: string, callback: AsyncCallback&lt;void&gt;): void
删除联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人key值,一个联系人对应一个key。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回删除联系人的结果。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.deleteContact(globalThis.context as Context, 'xxx', (err) => {
if (err) {
console.log(`deleteContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log('deleteContact success');
});
```
## contact.deleteContact ## contact.deleteContact(deprecated)<sup>7+</sup>
deleteContact(key: string, callback: AsyncCallback&lt;void&gt;): void deleteContact(key: string, callback: AsyncCallback&lt;void&gt;): void
删除联系人,使用callback方式作为异步方法。 删除联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[deleteContact](#contactdeletecontact10)
**需要权限**:ohos.permission.WRITE_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -113,12 +267,64 @@ deleteContact(key: string, callback: AsyncCallback&lt;void&gt;): void ...@@ -113,12 +267,64 @@ deleteContact(key: string, callback: AsyncCallback&lt;void&gt;): void
``` ```
## contact.deleteContact ## contact.deleteContact<sup>10+</sup>
deleteContact(context: Context, key: string): Promise&lt;void&gt;
删除联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | --------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回删除联系人的结果。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.deleteContact(globalThis.context as Context, 'xxx');
promise.then(() => {
console.log(`deleteContact success`);
}).catch((err) => {
console.error(`deleteContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.deleteContact(deprecated)<sup>7+</sup>
deleteContact(key: string): Promise&lt;void&gt; deleteContact(key: string): Promise&lt;void&gt;
删除联系人,使用Promise方式作为异步方法。 删除联系人,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[deleteContact](#contactdeletecontact10)
**需要权限**:ohos.permission.WRITE_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -147,9 +353,9 @@ deleteContact(key: string): Promise&lt;void&gt; ...@@ -147,9 +353,9 @@ deleteContact(key: string): Promise&lt;void&gt;
``` ```
## contact.updateContact ## contact.updateContact<sup>10+</sup>
updateContact(contact: Contact, callback: AsyncCallback&lt;void&gt;): void updateContact(context: Context, contact: Contact, callback: AsyncCallback&lt;void&gt;): void
更新联系人,使用callback方式作为异步方法。 更新联系人,使用callback方式作为异步方法。
...@@ -160,14 +366,29 @@ updateContact(contact: Contact, callback: AsyncCallback&lt;void&gt;): void ...@@ -160,14 +366,29 @@ updateContact(contact: Contact, callback: AsyncCallback&lt;void&gt;): void
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------ | | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| contact | [Contact](#contact) | 是 | 联系人信息。 | | contact | [Contact](#contact) | 是 | 联系人信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回更新联系人的更新结果。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回更新联系人的更新结果。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.updateContact({ // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.updateContact(globalThis.context as Context, {
id: 1, id: 1,
name: {fullName: 'xxx'}, name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
...@@ -180,13 +401,16 @@ updateContact(contact: Contact, callback: AsyncCallback&lt;void&gt;): void ...@@ -180,13 +401,16 @@ updateContact(contact: Contact, callback: AsyncCallback&lt;void&gt;): void
}); });
``` ```
## contact.updateContact(deprecated)<sup>7+</sup>
## contact.updateContact updateContact(contact: Contact, callback: AsyncCallback&lt;void&gt;): void
updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback&lt;void&gt;): void
更新联系人,使用callback方式作为异步方法。 更新联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[updateContact](#contactupdatecontact10)
**需要权限**:ohos.permission.WRITE_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -194,9 +418,8 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac ...@@ -194,9 +418,8 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ------------------------------------ | | -------- | ------------------------- | ---- | ------------------------------------ |
| contact | [Contact](#contact) | 是 | 联系人信息。 | | contact | [Contact](#contact) | 是 | 联系人信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回更新联系人的更新结果。 | | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回更新联系人的更新结果。 |
**示例:** **示例:**
...@@ -206,8 +429,6 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac ...@@ -206,8 +429,6 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac
id: 1, id: 1,
name: {fullName: 'xxx'}, name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err) => { }, (err) => {
if (err) { if (err) {
console.log('updateContact callback: err->${JSON.stringify(err)}'); console.log('updateContact callback: err->${JSON.stringify(err)}');
...@@ -218,11 +439,11 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac ...@@ -218,11 +439,11 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac
``` ```
## contact.updateContact ## contact.updateContact<sup>10+</sup>
updateContact(contact: Contact, attrs?: ContactAttributes): Promise&lt;void&gt; updateContact(context: Context, contact: Contact, attrs: ContactAttributes, callback: AsyncCallback&lt;void&gt;): void
更新联系人,使用Promise方式作为异步方法。 更新联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.WRITE_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
...@@ -231,120 +452,417 @@ updateContact(contact: Contact, attrs?: ContactAttributes): Promise&lt;void&gt; ...@@ -231,120 +452,417 @@ updateContact(contact: Contact, attrs?: ContactAttributes): Promise&lt;void&gt;
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------------------- | ---- | ------------------ | | -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| contact | [Contact](#contact) | 是 | 联系人信息。 | | contact | [Contact](#contact) | 是 | 联系人信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回更新联系人的更新结果。 |
**返回值:** **错误码:**
| 类型 | 说明 |
| ------------------- | ------------------------------------------------- | | 错误码ID | 错误信息 |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回更新联系人的更新结果。 | | -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
let promise = contact.updateContact({ // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.updateContact(globalThis.context as Context, {
id: 1, id: 1,
name: {fullName: 'xxx'}, name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
}, { }, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}); }, (err) => {
promise.then(() => { if (err) {
console.log('updateContact callback: err->${JSON.stringify(err)}');
return;
}
console.log('updateContact success'); console.log('updateContact success');
}).catch((err) => {
console.error(`updateContact fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.updateContact(deprecated)<sup>7+</sup>
## contact.isLocalContact updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback&lt;void&gt;): void
isLocalContact(id: number, callback: AsyncCallback&lt;boolean&gt;): void 更新联系人,使用callback方式作为异步方法。
判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[updateContact](#contactupdatecontact10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | | -------- | --------------------------------------- | ---- | ------------------------------------ |
| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | | contact | [Contact](#contact) | 是 | 联系人信息。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数,返回更新联系人的更新结果。 |
**示例:** **示例:**
```js ```js
contact.isLocalContact(/*id*/1, (err, data) => { contact.updateContact({
id: 1,
name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err) => {
if (err) { if (err) {
console.log(`isLocalContact callback: err->${JSON.stringify(err)}`); console.log('updateContact callback: err->${JSON.stringify(err)}');
return; return;
} }
console.log(`isLocalContact callback: success data->${JSON.stringify(data)}`); console.log('updateContact success');
}); });
``` ```
## contact.isLocalContact ## contact.updateContact<sup>10+</sup>
isLocalContact(id: number): Promise&lt;boolean&gt; updateContact(context: Context, contact: Contact, attrs?: ContactAttributes): Promise&lt;void&gt;
判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 更新联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------ | | ------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| contact | [Contact](#contact) | 是 | 联系人信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------ | | ------------------- | ------------------------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式返回结果,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 | | Promise&lt;void&gt; | 以Promise形式返回结果,返回更新联系人的更新结果。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
let promise = contact.isLocalContact(/*id*/1); // 获取context
promise.then((data) => { import UIAbility from '@ohos.app.ability.UIAbility';
console.log(`isLocalContact success: data->${JSON.stringify(data)}`); class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.updateContact(globalThis.context as Context, {
id: 1,
name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then(() => {
console.log('updateContact success');
}).catch((err) => { }).catch((err) => {
console.error(`isLocalContact fail: err->${JSON.stringify(err)}`); console.error(`updateContact fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.updateContact(deprecated)<sup>7+</sup>
## contact.isMyCard updateContact(contact: Contact, attrs?: ContactAttributes): Promise&lt;void&gt;
isMyCard(id: number, callback: AsyncCallback&lt;boolean&gt;): void 更新联系人,使用Promise方式作为异步方法。
判断是否为“我的名片”,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[updateContact](#contactupdatecontact10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.WRITE_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | | ------- | --------------------------------------- | ---- | ------------------ |
| id | number | 是 | 联系人对象的id属性。 | | contact | [Contact](#contact) | 是 | 联系人信息。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 | | attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回更新联系人的更新结果。 |
**示例:** **示例:**
```js ```js
contact.isMyCard(/*id*/1, (err, data) => { let promise = contact.updateContact({
if (err) { id: 1,
console.log(`isMyCard callback: err->${JSON.stringify(err)}`); name: {fullName: 'xxx'},
phoneNumbers: [{phoneNumber: '138xxxxxxxx'}]
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then(() => {
console.log('updateContact success');
}).catch((err) => {
console.error(`updateContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.isLocalContact<sup>10+</sup>
isLocalContact(context: Context, id: number, callback: AsyncCallback&lt;boolean&gt;): void
判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.isLocalContact(globalThis.context as Context, /*id*/1, (err, data) => {
if (err) {
console.log(`isLocalContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`isLocalContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.isLocalContact(deprecated)<sup>7+</sup>
isLocalContact(id: number, callback: AsyncCallback&lt;boolean&gt;): void
判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isLocalContact](#contactislocalcontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 |
**示例:**
```js
contact.isLocalContact(/*id*/1, (err, data) => {
if (err) {
console.log(`isLocalContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`isLocalContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.isLocalContact<sup>10+</sup>
isLocalContact(context: Context, id: number): Promise&lt;boolean&gt;
判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | 以Promise形式返回结果,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.isLocalContact(globalThis.context as Context, /*id*/1);
promise.then((data) => {
console.log(`isLocalContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`isLocalContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.isLocalContact(deprecated)<sup>7+</sup>
isLocalContact(id: number): Promise&lt;boolean&gt;
判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isLocalContact](#contactislocalcontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------ |
| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | 以Promise形式返回结果,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 |
**示例:**
```js
let promise = contact.isLocalContact(/*id*/1);
promise.then((data) => {
console.log(`isLocalContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`isLocalContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.isMyCard<sup>10+</sup>
isMyCard(context: Context, id: number, callback: AsyncCallback&lt;boolean&gt;): void
判断是否为“我的名片”,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.isMyCard(globalThis.context as Context, /*id*/1, (err, data) => {
if (err) {
console.log(`isMyCard callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`isMyCard callback: success data->${JSON.stringify(data)}`);
});
```
## contact.isMyCard(deprecated)<sup>7+</sup>
isMyCard(id: number, callback: AsyncCallback&lt;boolean&gt;): void
判断是否为“我的名片”,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isMyCard](#contactismycard10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| id | number | 是 | 联系人对象的id属性。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 |
**示例:**
```js
contact.isMyCard(/*id*/1, (err, data) => {
if (err) {
console.log(`isMyCard callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`isMyCard callback: success data->${JSON.stringify(data)}`); console.log(`isMyCard callback: success data->${JSON.stringify(data)}`);
...@@ -352,12 +870,64 @@ isMyCard(id: number, callback: AsyncCallback&lt;boolean&gt;): void ...@@ -352,12 +870,64 @@ isMyCard(id: number, callback: AsyncCallback&lt;boolean&gt;): void
``` ```
## contact.isMyCard ## contact.isMyCard<sup>10+</sup>
isMyCard(context: Context, id: number): Promise&lt;boolean&gt;
判断是否为“我的名片”,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性。 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | 以Promise形式返回结果,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.isMyCard(globalThis.context as Context, /*id*/1);
promise.then((data) => {
console.log(`isMyCard success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`isMyCard fail: err->${JSON.stringify(err)}`);
});
```
## contact.isMyCard(deprecated)<sup>7+</sup>
isMyCard(id: number): Promise&lt;boolean&gt; isMyCard(id: number): Promise&lt;boolean&gt;
判断是否为“我的名片”,使用Promise方式作为异步方法。 判断是否为“我的名片”,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isMyCard](#contactismycard10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -385,10 +955,9 @@ isMyCard(id: number): Promise&lt;boolean&gt; ...@@ -385,10 +955,9 @@ isMyCard(id: number): Promise&lt;boolean&gt;
}); });
``` ```
## contact.queryMyCard<sup>10+</sup>
## contact.queryMyCard queryMyCard(context: Context, callback: AsyncCallback&lt;Contact&gt;): void
queryMyCard(callback: AsyncCallback&lt;Contact&gt;): void
查询“我的名片”,使用callback方式作为异步方法。 查询“我的名片”,使用callback方式作为异步方法。
...@@ -399,28 +968,46 @@ queryMyCard(callback: AsyncCallback&lt;Contact&gt;): void ...@@ -399,28 +968,46 @@ queryMyCard(callback: AsyncCallback&lt;Contact&gt;): void
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------ | | -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回“我的名片”信息。 | | callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回“我的名片”信息。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryMyCard((err, data) => { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryMyCard(globalThis.context as Context, (err, data) => {
if (err) { if (err) {
console.log(`queryMyCard callback: err->${JSON.stringify(err)}`); console.log(`queryMyCard callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`); console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryMyCard ## contact.queryMyCard(deprecated)<sup>7+</sup>
queryMyCard(attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void queryMyCard(callback: AsyncCallback&lt;Contact&gt;): void
查询“我的名片”,使用callback方式作为异步方法。 查询“我的名片”,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -429,15 +1016,12 @@ queryMyCard(attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): v ...@@ -429,15 +1016,12 @@ queryMyCard(attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): v
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------ | | -------- | ---------------------------------------- | ---- | ------------------------------ |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回“我的名片”信息。 | | callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回“我的名片”信息。 |
**示例:** **示例:**
```js ```js
contact.queryMyCard({ contact.queryMyCard((err, data) => {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) { if (err) {
console.log(`queryMyCard callback: err->${JSON.stringify(err)}`); console.log(`queryMyCard callback: err->${JSON.stringify(err)}`);
return; return;
...@@ -446,12 +1030,1266 @@ queryMyCard(attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): v ...@@ -446,12 +1030,1266 @@ queryMyCard(attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): v
}); });
``` ```
## contact.queryMyCard<sup>10+</sup>
queryMyCard(context: Context, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
查询“我的名片”,使用callback方式作为异步方法。
## contact.queryMyCard **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回“我的名片”信息。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryMyCard(globalThis.context as Context, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryMyCard callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryMyCard(deprecated)<sup>7+</sup>
queryMyCard(attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
查询“我的名片”,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------ |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回“我的名片”信息。 |
**示例:**
```js
contact.queryMyCard({
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryMyCard callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryMyCard<sup>10+</sup>
queryMyCard(context: Context, attrs?: ContactAttributes): Promise&lt;Contact&gt;
查询“我的名片”,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | ------------------------------------------- |
| Promise&lt;[Contact](#contact)&gt; | 以Promise形式返回结果,返回“我的名片”信息。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryMyCard(globalThis.context as Context, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryMyCard success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryMyCard fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryMyCard(deprecated)<sup>7+</sup>
queryMyCard(attrs?: ContactAttributes): Promise&lt;Contact&gt;
查询“我的名片”,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | ------------------ |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | ------------------------------------------- |
| Promise&lt;[Contact](#contact)&gt; | 以Promise形式返回结果,返回“我的名片”信息。 |
**示例:**
```js
let promise = contact.queryMyCard({
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryMyCard success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryMyCard fail: err->${JSON.stringify(err)}`);
});
```
## contact.selectContact(deprecated)<sup>7+</sup>
selectContact(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
选择联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[selectContacts](#contactselectcontacts10)
**系统能力**:SystemCapability.Applications.Contacts
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回选择的联系人对象数组。 |
**示例:**
```js
contact.selectContact((err, data) => {
if (err) {
console.log(`selectContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`selectContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.selectContact(deprecated)<sup>7+</sup>
selectContact(): Promise&lt;Array&lt;Contact&gt;&gt;
选择联系人,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[selectContacts](#contactselectcontacts10)
**系统能力**:SystemCapability.Applications.Contacts
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回选择的联系人对象数组。 |
**示例:**
```js
let promise = contact.selectContact();
promise.then((data) => {
console.log(`selectContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`selectContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.selectContacts<sup>10+</sup>
selectContacts(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
选择联系人,使用callback方式作为异步方法。
**系统能力**:SystemCapability.Applications.Contacts
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回选择的联系人对象数组。 |
**示例:**
```js
contact.selectContacts((err, data) => {
if (err) {
console.log(`selectContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`selectContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.selectContacts<sup>10+</sup>
selectContacts(): Promise&lt;Array&lt;Contact&gt;&gt;
选择联系人,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.Applications.Contacts
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回选择的联系人对象数组。 |
**示例:**
```js
let promise = contact.selectContacts();
promise.then((data) => {
console.log(`selectContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`selectContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.selectContacts<sup>10+</sup>
selectContacts(options: ContactSelectionOptions, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
选择联系人,使用callback方式作为异步方法。
**系统能力**:SystemCapability.Applications.Contacts
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| options | ContactSelectionOptions | 是 | 选择联系人时的筛选条件 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回选择的联系人对象数组。 |
**示例:**
```js
contact.selectContacts({
isMultiSelect:false
}, (err, data) => {
if (err) {
console.log(`selectContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`selectContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.selectContacts<sup>10+</sup>
selectContacts(options: ContactSelectionOptions): Promise&lt;Array&lt;Contact&gt;&gt;
选择联系人,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.Applications.Contacts
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | ------------------------------------------------- |
| options | ContactSelectionOptions | 是 | 选择联系人时的筛选条件 |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回选择的联系人对象数组。 |
**示例:**
```js
let promise = contact.selectContacts({isMultiSelect:false});
promise.then((data) => {
console.log(`selectContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`selectContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryContact<sup>10+</sup>
queryContact(context: Context, key: string, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContact(globalThis.context as Context, 'xxx', (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact(deprecated)<sup>7+</sup>
queryContact(key: string, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**示例:**
```js
contact.queryContact('xxx', (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact<sup>10+</sup>
queryContact(context: Context, key: string, holder: Holder, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContact(globalThis.context as Context, 'xxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact(deprecated)<sup>7+</sup>
queryContact(key: string, holder: Holder, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**示例:**
```js
contact.queryContact('xxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact<sup>10+</sup>
queryContact(context: Context, key: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContact(globalThis.context as Context, 'xxx', {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact(deprecated)<sup>7+</sup>
queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**示例:**
```js
contact.queryContact('xxx', {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact<sup>10+</sup>
queryContact(context: Context, key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContact(globalThis.context as Context, 'xxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact(deprecated)<sup>7+</sup>
queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 |
**示例:**
```js
contact.queryContact('xxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContact callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContact<sup>10+</sup>
queryContact(context: Context, key: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Contact&gt;
根据key查询联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | ----------------------------------------------- |
| Promise&lt;[Contact](#contact)&gt; | 以Promise形式返回结果,返回查询到的联系人对象。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryContact(globalThis.context as Context, 'xxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryContact(deprecated)<sup>7+</sup>
queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Contact&gt;
根据key查询联系人,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | ----------------------------------------------- |
| Promise&lt;[Contact](#contact)&gt; | 以Promise形式返回结果,返回查询到的联系人对象。 |
**示例:**
```js
let promise = contact.queryContact('xxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryContact success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryContact fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryContacts<sup>10+</sup>
queryContacts(context: Context, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContacts(globalThis.context as Context, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts(deprecated)<sup>7+</sup>
queryContacts(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:**
```js
contact.queryContacts((err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts<sup>10+</sup>
queryContacts(context: Context, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContacts(globalThis.context as Context, {
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts(deprecated)<sup>7+</sup>
queryContacts(holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:**
```js
contact.queryContacts({
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts<sup>10+</sup>
queryContacts(context: Context, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContacts(globalThis.context as Context, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts(deprecated)<sup>7+</sup>
queryContacts(attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:**
```js
contact.queryContacts({
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts<sup>10+</sup>
queryContacts(context: Context, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContacts(globalThis.context as Context, {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts(deprecated)<sup>7+</sup>
queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:**
```js
contact.queryContacts({
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContacts<sup>10+</sup>
queryContacts(context: Context, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
查询所有联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | --------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryContacts(globalThis.context as Context, {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryContacts success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryContacts fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryContacts(deprecated)<sup>7+</sup>
queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
查询所有联系人,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10)
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | ---------------------- |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | --------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
**示例:**
```js
let promise = contact.queryContacts({
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryContacts success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryContacts fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryContactsByPhoneNumber<sup>10+</sup>
queryContactsByPhoneNumber(context: Context, phoneNumber: string, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
根据电话号码查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| phoneNumber | string | 是 | 联系人的电话号码。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByPhoneNumber(globalThis.context as Context, '138xxxxxxxx', (err, data) => {
if (err) {
console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContactsByPhoneNumber(deprecated)<sup>7+</sup>
queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryMyCard(attrs?: ContactAttributes): Promise&lt;Contact&gt; 根据电话号码查询联系人,使用callback方式作为异步方法。
查询“我的名片”,使用Promise方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -460,86 +2298,115 @@ queryMyCard(attrs?: ContactAttributes): Promise&lt;Contact&gt; ...@@ -460,86 +2298,115 @@ queryMyCard(attrs?: ContactAttributes): Promise&lt;Contact&gt;
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | ------------------ | | ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | | phoneNumber | string | 是 | 联系人的电话号码。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------- | ------------------------------------------- |
| Promise&lt;[Contact](#contact)&gt; | 以Promise形式返回结果,返回“我的名片”信息。 |
**示例:** **示例:**
```js ```js
let promise = contact.queryMyCard({ contact.queryContactsByPhoneNumber('138xxxxxxxx', (err, data) => {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] if (err) {
}); console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
promise.then((data) => { return;
console.log(`queryMyCard success: data->${JSON.stringify(data)}`); }
}).catch((err) => { console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
console.error(`queryMyCard fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.selectContact ## contact.queryContactsByPhoneNumber<sup>10+</sup>
selectContact(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
选择联系人,使用callback方式作为异步方法。 根据电话号码查询联系人,使用callback方式作为异步方法。
**系统能力**:SystemCapability.Applications.Contacts **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | | ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回选择的联系人对象数组。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.selectContact((err, data) => { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByPhoneNumber(globalThis.context as Context, '138xxxxxxxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) { if (err) {
console.log(`selectContact callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`selectContact callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber(deprecated)<sup>7+</sup>
## contact.selectContact queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
selectContact(): Promise&lt;Array&lt;Contact&gt;&gt; 根据电话号码查询联系人,使用callback方式作为异步方法。
选择联系人,使用Promise方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10)
**系统能力**:SystemCapability.Applications.Contacts **需要权限**:ohos.permission.READ_CONTACTS
**返回值:** **系统能力**:SystemCapability.Applications.ContactsData
| 类型 | 说明 | **参数:**
| ----------------------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回选择的联系人对象数组。 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
let promise = contact.selectContact(); contact.queryContactsByPhoneNumber('138xxxxxxxx', {
promise.then((data) => { holderId: 0,
console.log(`selectContact success: data->${JSON.stringify(data)}`); bundleName: "",
}).catch((err) => { displayName: ""
console.error(`selectContact fail: err->${JSON.stringify(err)}`); }, (err, data) => {
if (err) {
console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber<sup>10+</sup>
## contact.queryContact queryContactsByPhoneNumber(context: Context, phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContact(key: string, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。 根据电话号码查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -548,28 +2415,49 @@ queryContact(key: string, callback: AsyncCallback&lt;Contact&gt;): void ...@@ -548,28 +2415,49 @@ queryContact(key: string, callback: AsyncCallback&lt;Contact&gt;): void
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- | | ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 | | phoneNumber | string | 是 | 联系人的电话号码。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContact('xxx', (err, data) => { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByPhoneNumber(globalThis.context as Context, '138xxxxxxxx', {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) { if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContact callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber(deprecated)<sup>7+</sup>
## contact.queryContact queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContact(key: string, holder: Holder, callback: AsyncCallback&lt;Contact&gt;): void 根据电话号码查询联系人,使用callback方式作为异步方法。
根据key查询联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -578,33 +2466,30 @@ queryContact(key: string, holder: Holder, callback: AsyncCallback&lt;Contact&gt; ...@@ -578,33 +2466,30 @@ queryContact(key: string, holder: Holder, callback: AsyncCallback&lt;Contact&gt;
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- | | ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | | phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContact('xxx', { contact.queryContactsByPhoneNumber('138xxxxxxxx', {
holderId: 0, attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
bundleName: "",
displayName: ""
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContact callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber<sup>10+</sup>
## contact.queryContact queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void
根据key查询联系人,使用callback方式作为异步方法。 根据电话号码查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -613,31 +2498,54 @@ queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback&lt; ...@@ -613,31 +2498,54 @@ queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback&lt;
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- | | ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContact('xxx', { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByPhoneNumber(globalThis.context as Context, '138xxxxxxxx', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContact callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber(deprecated)<sup>7+</sup>
## contact.queryContact queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Contact&gt;): void 根据电话号码查询联系人,使用callback方式作为异步方法。
根据key查询联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -646,16 +2554,16 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As ...@@ -646,16 +2554,16 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | -------------------------------------- | | ----------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | | phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;[Contact](#contact)&gt; | 是 | 回调函数,返回查询的联系人对象。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContact('xxx', { contact.queryContactsByPhoneNumber('138xxxxxxxx', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
...@@ -663,19 +2571,18 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As ...@@ -663,19 +2571,18 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContact callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContact callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber<sup>10+</sup>
## contact.queryContact queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Contact&gt;
根据key查询联系人,使用Promise方式作为异步方法。 根据电话号码查询联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -684,20 +2591,36 @@ queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&l ...@@ -684,20 +2591,36 @@ queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&l
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | -------------------------------------- | | ----------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | | holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ---------------------------------- | ----------------------------------------------- | | ----------------------------------------------- | --------------------------------------------------- |
| Promise&lt;[Contact](#contact)&gt; | 以Promise形式返回结果,返回查询到的联系人对象。 | | Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
let promise = contact.queryContact('xxx', { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryContactsByPhoneNumber(globalThis.context as Context, '138xxxxxxxx', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
...@@ -705,18 +2628,21 @@ queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&l ...@@ -705,18 +2628,21 @@ queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&l
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}); });
promise.then((data) => { promise.then((data) => {
console.log(`queryContact success: data->${JSON.stringify(data)}`); console.log(`queryContactsByPhoneNumber success: data->${JSON.stringify(data)}`);
}).catch((err) => { }).catch((err) => {
console.error(`queryContact fail: err->${JSON.stringify(err)}`); console.error(`queryContactsByPhoneNumber fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.queryContactsByPhoneNumber(deprecated)<sup>7+</sup>
## contact.queryContacts queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
queryContacts(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据电话号码查询联系人,使用Promise方式作为异步方法。
查询所有联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -725,27 +2651,39 @@ queryContacts(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void ...@@ -725,27 +2651,39 @@ queryContacts(callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | | ----------- | --------------------------------------- | ---- | ---------------------- |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | phoneNumber | string | 是 | 联系人的电话号码。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | --------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContacts((err, data) => { let promise = contact.queryContactsByPhoneNumber('138xxxxxxxx', {
if (err) { holderId: 0,
console.log(`queryContacts callback: err->${JSON.stringify(err)}`); bundleName: "",
return; displayName: ""
} }, {
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
});
promise.then((data) => {
console.log(`queryContactsByPhoneNumber success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryContactsByPhoneNumber fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.queryContactsByEmail<sup>10+</sup>
## contact.queryContacts queryContactsByEmail(context: Context, email: string, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContacts(holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。 根据email查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -754,32 +2692,46 @@ queryContacts(holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt ...@@ -754,32 +2692,46 @@ queryContacts(holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| email | string | 是 | 联系人的邮箱地址。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContacts({ // 获取context
holderId: 0, import UIAbility from '@ohos.app.ability.UIAbility';
bundleName: "", class EntryAbility extends UIAbility {
displayName: "" onWindowStageCreate(windowStage){
}, (err, data) => { globalThis.context = this.context;
}
}
contact.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', (err, data) => {
if (err) { if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail(deprecated)<sup>7+</sup>
## contact.queryContacts queryContactsByEmail(email: string, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContacts(attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据email查询联系人,使用callback方式作为异步方法。
查询所有联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -789,29 +2741,26 @@ queryContacts(attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Cont ...@@ -789,29 +2741,26 @@ queryContacts(attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Cont
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | email | string | 是 | 联系人的邮箱地址。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContacts({ contact.queryContactsByEmail('xxx@email.com', (err, data) => {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) { if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail<sup>10+</sup>
## contact.queryContacts queryContactsByEmail(context: Context, email: string, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
查询所有联系人,使用callback方式作为异步方法。 根据email查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -820,35 +2769,51 @@ queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback& ...@@ -820,35 +2769,51 @@ queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| email | string | 是 | 联系人的邮箱地址。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContacts({ // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContacts callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail(deprecated)<sup>7+</sup>
## contact.queryContacts queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt; 根据email查询联系人,使用callback方式作为异步方法。
查询所有联系人,使用Promise方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -857,38 +2822,32 @@ queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;C ...@@ -857,38 +2822,32 @@ queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;C
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | ---------------------- | | -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | | email | string | 是 | 联系人的邮箱地址。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | | holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------------------- | --------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
let promise = contact.queryContacts({ contact.queryContactsByEmail('xxx@email.com', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
}, { }, (err, data) => {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] if (err) {
}); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
promise.then((data) => { return;
console.log(`queryContacts success: data->${JSON.stringify(data)}`); }
}).catch((err) => { console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
console.error(`queryContacts fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.queryContactsByEmail<sup>10+</sup>
## contact.queryContactsByPhoneNumber queryContactsByEmail(context: Context, email: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据email查询联系人,使用callback方式作为异步方法。
根据电话号码查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -897,28 +2856,49 @@ queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback&lt;Array ...@@ -897,28 +2856,49 @@ queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback&lt;Array
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 联系人的电话号码。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | email | string | 是 | 联系人的邮箱地址。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContactsByPhoneNumber('138xxxxxxxx', (err, data) => { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) { if (err) {
console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail(deprecated)<sup>7+</sup>
## contact.queryContactsByPhoneNumber queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据email查询联系人,使用callback方式作为异步方法。
根据电话号码查询联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -927,33 +2907,30 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncC ...@@ -927,33 +2907,30 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncC
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| phoneNumber | string | 是 | 联系人的电话号码。 | | email | string | 是 | 联系人的邮箱地址。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContactsByPhoneNumber('138xxxxxxxx', { contact.queryContactsByEmail('xxx@email.com', {
holderId: 0, attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
bundleName: "",
displayName: ""
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail<sup>10+</sup>
## contact.queryContactsByPhoneNumber queryContactsByEmail(context: Context, email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据email查询联系人,使用callback方式作为异步方法。
根据电话号码查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -962,31 +2939,54 @@ queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callba ...@@ -962,31 +2939,54 @@ queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callba
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 联系人的电话号码。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| email | string | 是 | 联系人的邮箱地址。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContactsByPhoneNumber('138xxxxxxxx', { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail(deprecated)<sup>7+</sup>
## contact.queryContactsByPhoneNumber queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据email查询联系人,使用callback方式作为异步方法。
根据电话号码查询联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -995,16 +2995,16 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAt ...@@ -995,16 +2995,16 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAt
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | | -------- | ----------------------------------------------------- | ---- | ------------------------------------ |
| phoneNumber | string | 是 | 联系人的电话号码。 | | email | string | 是 | 联系人的邮箱地址。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContactsByPhoneNumber('138xxxxxxxx', { contact.queryContactsByEmail('xxx@email.com', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
...@@ -1012,19 +3012,18 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAt ...@@ -1012,19 +3012,18 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAt
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => { }, (err, data) => {
if (err) { if (err) {
console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryContactsByEmail<sup>10+</sup>
## contact.queryContactsByPhoneNumber queryContactsByEmail(context: Context, email: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt; 根据email查询联系人,使用Promise方式作为异步方法。
根据电话号码查询联系人,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -1033,8 +3032,9 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact ...@@ -1033,8 +3032,9 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ----------- | --------------------------------------- | ---- | ---------------------- | | ------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| phoneNumber | string | 是 | 联系人的电话号码。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| email | string | 是 | 联系人的邮箱地址。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | | holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | | attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
...@@ -1044,10 +3044,24 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact ...@@ -1044,10 +3044,24 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact
| ----------------------------------------------- | --------------------------------------------------- | | ----------------------------------------------- | --------------------------------------------------- |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 | | Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
let promise = contact.queryContactsByPhoneNumber('138xxxxxxxx', { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
...@@ -1055,18 +3069,21 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact ...@@ -1055,18 +3069,21 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}); });
promise.then((data) => { promise.then((data) => {
console.log(`queryContactsByPhoneNumber success: data->${JSON.stringify(data)}`); console.log(`queryContactsByEmail success: data->${JSON.stringify(data)}`);
}).catch((err) => { }).catch((err) => {
console.error(`queryContactsByPhoneNumber fail: err->${JSON.stringify(err)}`); console.error(`queryContactsByEmail fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.queryContactsByEmail(deprecated)<sup>7+</sup>
## contact.queryContactsByEmail queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
queryContactsByEmail(email: string, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 根据email查询联系人,使用Promise方式作为异步方法。
根据email查询联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -1075,63 +3092,39 @@ queryContactsByEmail(email: string, callback: AsyncCallback&lt;Array&lt;Contact& ...@@ -1075,63 +3092,39 @@ queryContactsByEmail(email: string, callback: AsyncCallback&lt;Array&lt;Contact&
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | | ------ | --------------------------------------- | ---- | ---------------------- |
| email | string | 是 | 联系人的邮箱地址。 | | email | string | 是 | 联系人的邮箱地址。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 | | holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 |
**示例:**
```js
contact.queryContactsByEmail('xxx@email.com', (err, data) => {
if (err) {
console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryContactsByEmail
queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
根据email查询联系人,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:** **返回值:**
| 参数名 | 类型 | 必填 | 说明 | | 类型 | 说明 |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | | ----------------------------------------------- | --------------------------------------------------- |
| email | string | 是 | 联系人的邮箱地址。 | | Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到的联系人对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryContactsByEmail('xxx@email.com', { let promise = contact.queryContactsByEmail('xxx@email.com', {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
}, (err, data) => { }, {
if (err) { attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); });
return; promise.then((data) => {
} console.log(`queryContactsByEmail success: data->${JSON.stringify(data)}`);
console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); }).catch((err) => {
console.error(`queryContactsByEmail fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.queryGroups<sup>10+</sup>
## contact.queryContactsByEmail queryGroups(context: Context, callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void
根据email查询联系人,使用callback方式作为异步方法。 查询联系人的所有群组,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -1140,31 +3133,45 @@ queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCal ...@@ -1140,31 +3133,45 @@ queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCal
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | | -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ |
| email | string | 是 | 联系人的邮箱地址。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | callback | AsyncCallback&lt;Array&lt;[Group](#group)&gt;&gt; | 是 | 回调函数,返回查询到的群组对象数组。 |
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到联系人对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryContactsByEmail('xxx@email.com', { // 获取context
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] import UIAbility from '@ohos.app.ability.UIAbility';
}, (err, data) => { class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryGroups(globalThis.context as Context, (err, data) => {
if (err) { if (err) {
console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); console.log(`queryGroups callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); console.log(`queryGroups callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryGroups(deprecated)<sup>7+</sup>
## contact.queryContactsByEmail queryGroups(callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback&lt;Array&lt;Contact&gt;&gt;): void 查询联系人的所有群组,使用callback方式作为异步方法。
根据email查询联系人,使用callback方式作为异步方法。 > **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryGroups](#contactquerygroups10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -1173,36 +3180,26 @@ queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, ca ...@@ -1173,36 +3180,26 @@ queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, ca
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | | -------- | ------------------------------------------------- | ---- | ------------------------------------ |
| email | string | 是 | 联系人的邮箱地址。 | | callback | AsyncCallback&lt;Array&lt;[Group](#group)&gt;&gt; | 是 | 回调函数,返回查询到的群组对象数组。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | **示例:**
| callback | AsyncCallback&lt;Array&lt;[Contact](#contact)&gt;&gt; | 是 | 回调函数,返回查询到联系人对象数组。 |
```js
**示例:** contact.queryGroups((err, data) => {
```js
contact.queryContactsByEmail('xxx@email.com', {
holderId: 0,
bundleName: "",
displayName: ""
}, {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME]
}, (err, data) => {
if (err) { if (err) {
console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); console.log(`queryGroups callback: err->${JSON.stringify(err)}`);
return; return;
} }
console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); console.log(`queryGroups callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryGroups<sup>10+</sup>
## contact.queryContactsByEmail queryGroups(context: Context, holder: Holder, callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise&lt;Array&lt;Contact&gt;&gt;
根据email查询联系人,使用Promise方式作为异步方法。 查询联系人的所有群组,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -1211,41 +3208,51 @@ queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): ...@@ -1211,41 +3208,51 @@ queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes):
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | --------------------------------------- | ---- | ---------------------- | | -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ |
| email | string | 是 | 联系人的邮箱地址。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md) |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | | holder | Holder | 是 | 创建联系人的应用信息。 |
| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | | callback | AsyncCallback&lt;Array&lt;[Group](#group)&gt;&gt; | 是 | 回调函数,返回查询到的群组对象数组。 |
**返回值:** **错误码:**
| 类型 | 说明 | | 错误码ID | 错误信息 |
| ----------------------------------------------- | --------------------------------------------------- | | -------- | ------------------ |
| Promise&lt;Array&lt;[Contact](#contact)&gt;&gt; | 以Promise形式返回结果,返回查询到的联系人对象数组。 | | 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
let promise = contact.queryContactsByEmail('xxx@email.com', { // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryGroups(globalThis.context as Context, {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
}, { }, (err, data) => {
attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] if (err) {
}); console.log(`queryGroups callback: err->${JSON.stringify(err)}`);
promise.then((data) => { return;
console.log(`queryContactsByEmail success: data->${JSON.stringify(data)}`); }
}).catch((err) => { console.log(`queryGroups callback: success data->${JSON.stringify(data)}`);
console.error(`queryContactsByEmail fail: err->${JSON.stringify(err)}`);
}); });
``` ```
## contact.queryGroups(deprecated)<sup>7+</sup>
## contact.queryGroups queryGroups(holder: Holder, callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
queryGroups(callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
查询联系人的所有群组,使用callback方式作为异步方法。 查询联系人的所有群组,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryGroups](#contactquerygroups10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1254,12 +3261,17 @@ queryGroups(callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void ...@@ -1254,12 +3261,17 @@ queryGroups(callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ------------------------------------ | | -------- | ------------------------------------------------- | ---- | ------------------------------------ |
| holder | Holder | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;Array&lt;[Group](#group)&gt;&gt; | 是 | 回调函数,返回查询到的群组对象数组。 | | callback | AsyncCallback&lt;Array&lt;[Group](#group)&gt;&gt; | 是 | 回调函数,返回查询到的群组对象数组。 |
**示例:** **示例:**
```js ```js
contact.queryGroups((err, data) => { contact.queryGroups({
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) { if (err) {
console.log(`queryGroups callback: err->${JSON.stringify(err)}`); console.log(`queryGroups callback: err->${JSON.stringify(err)}`);
return; return;
...@@ -1268,12 +3280,11 @@ queryGroups(callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void ...@@ -1268,12 +3280,11 @@ queryGroups(callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
}); });
``` ```
## contact.queryGroups<sup>10+</sup>
## contact.queryGroups queryGroups(context: Context, holder?: Holder): Promise&lt;Array&lt;Group&gt;&gt;
queryGroups(holder: Holder, callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): void
查询联系人的所有群组,使用callback方式作为异步方法。 查询联系人的所有群组,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
...@@ -1282,33 +3293,55 @@ queryGroups(holder: Holder, callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;): ...@@ -1282,33 +3293,55 @@ queryGroups(holder: Holder, callback: AsyncCallback&lt;Array&lt;Group&gt;&gt;):
**参数:** **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ------------------------------------ | | ------- | ----------------- | ---- | ------------------------------------------------------------ |
| holder | Holder | 是 | 创建联系人的应用信息。 | | context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| callback | AsyncCallback&lt;Array&lt;[Group](#group)&gt;&gt; | 是 | 回调函数,返回查询到的群组对象数组。 | | holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;[Group](#group)&gt;&gt; | 以Promise形式返回结果,返回查询到的群组对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:** **示例:**
```js ```js
contact.queryGroups({ // 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryGroups(globalThis.context as Context, {
holderId: 0, holderId: 0,
bundleName: "", bundleName: "",
displayName: "" displayName: ""
}, (err, data) => { });
if (err) { promise.then((data) => {
console.log(`queryGroups callback: err->${JSON.stringify(err)}`); console.log(`queryGroups success: data->${JSON.stringify(data)}`);
return; }).catch((err) => {
} console.error(`queryGroups fail: err->${JSON.stringify(err)}`);
console.log(`queryGroups callback: success data->${JSON.stringify(data)}`);
}); });
``` ```
## contact.queryGroups(deprecated)<sup>7+</sup>
## contact.queryGroups
queryGroups(holder?: Holder): Promise&lt;Array&lt;Group&gt;&gt; queryGroups(holder?: Holder): Promise&lt;Array&lt;Group&gt;&gt;
查询联系人的所有群组,使用Promise方式作为异步方法。 查询联系人的所有群组,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryGroups](#contactquerygroups10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1340,13 +3373,59 @@ queryGroups(holder?: Holder): Promise&lt;Array&lt;Group&gt;&gt; ...@@ -1340,13 +3373,59 @@ queryGroups(holder?: Holder): Promise&lt;Array&lt;Group&gt;&gt;
}); });
``` ```
## contact.queryHolders<sup>10+</sup>
queryHolders(context: Context, callback: AsyncCallback&lt;Array&lt;Holder&gt;&gt;): void
查询所有创建联系人的应用信息,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| callback | AsyncCallback&lt;Array&lt;[Holder](#holder)&gt;&gt; | 是 | 回调函数,返回查询到的创建联系人应用信息的对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryHolders(globalThis.context as Context, (err, data) => {
if (err) {
console.log(`queryHolders callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryHolders callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryHolders ## contact.queryHolders(deprecated)<sup>7+</sup>
queryHolders(callback: AsyncCallback&lt;Array&lt;Holder&gt;&gt;): void queryHolders(callback: AsyncCallback&lt;Array&lt;Holder&gt;&gt;): void
查询所有创建联系人的应用信息,使用callback方式作为异步方法。 查询所有创建联系人的应用信息,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryHolders](#contactqueryholders10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1369,13 +3448,63 @@ queryHolders(callback: AsyncCallback&lt;Array&lt;Holder&gt;&gt;): void ...@@ -1369,13 +3448,63 @@ queryHolders(callback: AsyncCallback&lt;Array&lt;Holder&gt;&gt;): void
}); });
``` ```
## contact.queryHolders<sup>10+</sup>
queryHolders(context: Context ): Promise&lt;Array&lt;Holder&gt;&gt;
查询所有创建联系人的应用信息,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------------- | ------------------------------------------------------------ |
| Promise&lt;Array&lt;[Holder](#holder)&gt;&gt; | 以Promise形式返回结果,返回查询到的创建联系人应用信息的对象数组。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryHolders(globalThis.context as Context);
promise.then((data) => {
console.log(`queryHolders success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryHolders fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryHolders ## contact.queryHolders(deprecated)<sup>7+</sup>
queryHolders(): Promise&lt;Array&lt;Holder&gt;&gt; queryHolders(): Promise&lt;Array&lt;Holder&gt;&gt;
查询所有创建联系人的应用信息,使用Promise方式作为异步方法。 查询所有创建联系人的应用信息,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryHolders](#contactqueryholders10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1397,13 +3526,60 @@ queryHolders(): Promise&lt;Array&lt;Holder&gt;&gt; ...@@ -1397,13 +3526,60 @@ queryHolders(): Promise&lt;Array&lt;Holder&gt;&gt;
}); });
``` ```
## contact.queryKey<sup>10+</sup>
queryKey(context: Context, id: number, callback: AsyncCallback&lt;string&gt;): void
根据联系人的id查询联系人的key,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回查询到的联系人对应的key。 |
**错误码:**
## contact.queryKey | 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryKey(globalThis.context as Context, /*id*/1, (err, data) => {
if (err) {
console.log(`queryKey callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryKey callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryKey(deprecated)<sup>7+</sup>
queryKey(id: number, callback: AsyncCallback&lt;string&gt;): void queryKey(id: number, callback: AsyncCallback&lt;string&gt;): void
根据联系人的id查询联系人的key,使用callback方式作为异步方法。 根据联系人的id查询联系人的key,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryKey](#contactquerykey10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1427,13 +3603,65 @@ queryKey(id: number, callback: AsyncCallback&lt;string&gt;): void ...@@ -1427,13 +3603,65 @@ queryKey(id: number, callback: AsyncCallback&lt;string&gt;): void
}); });
``` ```
## contact.queryKey<sup>10+</sup>
queryKey(context: Context, id: number, holder: Holder, callback: AsyncCallback&lt;string&gt;): void
根据联系人的id查询联系人的key,使用callback方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性。 |
| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数,返回查询到的联系人对应的key。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
## contact.queryKey **示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
contact.queryKey(globalThis.context as Context, /*id*/1, {
holderId: 0,
bundleName: "",
displayName: ""
}, (err, data) => {
if (err) {
console.log(`queryKey callback: err->${JSON.stringify(err)}`);
return;
}
console.log(`queryKey callback: success data->${JSON.stringify(data)}`);
});
```
## contact.queryKey(deprecated)<sup>7+</sup>
queryKey(id: number, holder: Holder, callback: AsyncCallback&lt;string&gt;): void queryKey(id: number, holder: Holder, callback: AsyncCallback&lt;string&gt;): void
根据联系人的id查询联系人的key,使用callback方式作为异步方法。 根据联系人的id查询联系人的key,使用callback方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryKey](#contactquerykey10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1462,13 +3690,69 @@ queryKey(id: number, holder: Holder, callback: AsyncCallback&lt;string&gt;): voi ...@@ -1462,13 +3690,69 @@ queryKey(id: number, holder: Holder, callback: AsyncCallback&lt;string&gt;): voi
}); });
``` ```
## contact.queryKey<sup>10+</sup>
queryKey(context: Context, id: number, holder?: Holder): Promise&lt;string&gt;
根据联系人的id查询联系人的key,使用Promise方式作为异步方法。
**需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ----------------- | ---- | ------------------------------------------------------------ |
| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 |
| id | number | 是 | 联系人对象的id属性。 |
| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ---------------------------------------------------- |
| Promise&lt;string&gt; | 以Promise形式返回结果,返回查询到的联系人对应的key。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------ |
| 201 | Permission denied. |
| 401 | Parameter error. |
**示例:**
```js
// 获取context
import UIAbility from '@ohos.app.ability.UIAbility';
class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage){
globalThis.context = this.context;
}
}
let promise = contact.queryKey(globalThis.context as Context, /*id*/1, {
holderId: 0,
bundleName: "",
displayName: ""
});
promise.then((data) => {
console.log(`queryKey success: data->${JSON.stringify(data)}`);
}).catch((err) => {
console.error(`queryKey fail: err->${JSON.stringify(err)}`);
});
```
## contact.queryKey ## contact.queryKey(deprecated)<sup>7+</sup>
queryKey(id: number, holder?: Holder): Promise&lt;string&gt; queryKey(id: number, holder?: Holder): Promise&lt;string&gt;
根据联系人的id查询联系人的key,使用Promise方式作为异步方法。 根据联系人的id查询联系人的key,使用Promise方式作为异步方法。
> **说明**
>
> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryKey](#contactquerykey10)
**需要权限**:ohos.permission.READ_CONTACTS **需要权限**:ohos.permission.READ_CONTACTS
**系统能力**:SystemCapability.Applications.ContactsData **系统能力**:SystemCapability.Applications.ContactsData
...@@ -1501,6 +3785,17 @@ queryKey(id: number, holder?: Holder): Promise&lt;string&gt; ...@@ -1501,6 +3785,17 @@ queryKey(id: number, holder?: Holder): Promise&lt;string&gt;
}); });
``` ```
## ContactSelectionOptions<sup>10+</sup>
选择联系人条件。
**系统能力**:SystemCapability.Applications.Contacts
| 名称 | 类型 | 必填 | 说明 |
| --------------------------------- | ------------------------------------- | ---- | ---------------- |
| isMultiSelect <sup>10+</sup> | boolean | 否 | 是否为多选 |
## Contact ## Contact
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册