diff --git a/zh-cn/application-dev/reference/apis/js-apis-contact.md b/zh-cn/application-dev/reference/apis/js-apis-contact.md index 89ce7fd4540d84e2c5852d7b0ace78963fc6a30c..711223998cae34bfe08851619a28c48048e6f171 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-contact.md +++ b/zh-cn/application-dev/reference/apis/js-apis-contact.md @@ -13,12 +13,64 @@ import contact from '@ohos.contact'; ``` -## contact.addContact +## contact.addContact10+ + +addContact(context: Context, contact: Contact, callback: AsyncCallback<number>>): 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<number> | 是 | 回调函数,返回添加的联系人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)7+ addContact(contact:Contact, callback:AsyncCallback<number>): void 添加联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -45,13 +97,68 @@ addContact(contact:Contact, callback:AsyncCallback<number>): void }); ``` +## contact.addContact10+ + +addContact(context: Context, contact: Contact): Promise { + console.log(`addContact success: data->${JSON.stringify(data)}`); + }).catch((err) => { + console.error(`addContact fail: err->${JSON.stringify(err)}`); + }); +``` -## contact.addContact +## contact.addContact(deprecated)7+ addContact(contact: Contact): Promise<number> 添加联系人,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[addContact](#contactaddcontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -82,13 +189,60 @@ addContact(contact: Contact): Promise<number> }); ``` +## contact.deleteContact10+ + +deleteContact(context: Context, key: string, callback: AsyncCallback<void>): 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<void> | 是 | 回调函数,返回删除联系人的结果。 | + +**错误码:** + +| 错误码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)7+ deleteContact(key: string, callback: AsyncCallback<void>): void 删除联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[deleteContact](#contactdeletecontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -113,12 +267,64 @@ deleteContact(key: string, callback: AsyncCallback<void>): void ``` -## contact.deleteContact +## contact.deleteContact10+ + +deleteContact(context: Context, key: string): Promise<void> + +删除联系人,使用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<void> | 以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)7+ deleteContact(key: string): Promise<void> 删除联系人,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[deleteContact](#contactdeletecontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -147,12 +353,64 @@ deleteContact(key: string): Promise<void> ``` -## contact.updateContact +## contact.updateContact10+ + +updateContact(context: Context, contact: Contact, callback: AsyncCallback<void>): 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<void> | 是 | 回调函数,返回更新联系人的更新结果。 | + +**错误码:** + +| 错误码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.updateContact(globalThis.context as Context, { + id: 1, + name: {fullName: 'xxx'}, + phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] + }, (err) => { + if (err) { + console.log('updateContact callback: err->${JSON.stringify(err)}'); + return; + } + console.log('updateContact success'); + }); + ``` + +## contact.updateContact(deprecated)7+ updateContact(contact: Contact, callback: AsyncCallback<void>): void 更新联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[updateContact](#contactupdatecontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -181,12 +439,67 @@ updateContact(contact: Contact, callback: AsyncCallback<void>): void ``` -## contact.updateContact +## contact.updateContact10+ + +updateContact(context: Context, contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void + +更新联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.WRITE_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| contact | [Contact](#contact) | 是 | 联系人信息。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<void> | 是 | 回调函数,返回更新联系人的更新结果。 | + +**错误码:** + +| 错误码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.updateContact(globalThis.context as Context, { + id: 1, + name: {fullName: 'xxx'}, + phoneNumbers: [{phoneNumber: '138xxxxxxxx'}] + }, { + attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] + }, (err) => { + if (err) { + console.log('updateContact callback: err->${JSON.stringify(err)}'); + return; + } + console.log('updateContact success'); + }); + ``` + +## contact.updateContact(deprecated)7+ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void 更新联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[updateContact](#contactupdatecontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -218,12 +531,71 @@ updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallbac ``` -## contact.updateContact +## contact.updateContact10+ + +updateContact(context: Context, contact: Contact, attrs?: ContactAttributes): Promise<void> + +更新联系人,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.WRITE_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| contact | [Contact](#contact) | 是 | 联系人信息。 | +| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------------------------------- | +| Promise<void> | 以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.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) => { + console.error(`updateContact fail: err->${JSON.stringify(err)}`); + }); +``` + +## contact.updateContact(deprecated)7+ updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void> 更新联系人,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[updateContact](#contactupdatecontact10) + **需要权限**:ohos.permission.WRITE_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -258,9 +630,9 @@ updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void> ``` -## contact.isLocalContact +## contact.isLocalContact10+ -isLocalContact(id: number, callback: AsyncCallback<boolean>): void +isLocalContact(context: Context, id: number, callback: AsyncCallback<boolean>): void 判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。 @@ -272,13 +644,28 @@ isLocalContact(id: number, callback: AsyncCallback<boolean>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | | id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | | callback | AsyncCallback<boolean> | 是 | 回调函数,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 201 | Permission denied. | +| 401 | Parameter error. | + **示例:** ```js - contact.isLocalContact(/*id*/1, (err, data) => { + // 获取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; @@ -287,12 +674,15 @@ isLocalContact(id: number, callback: AsyncCallback<boolean>): void }); ``` +## contact.isLocalContact(deprecated)7+ -## contact.isLocalContact +isLocalContact(id: number, callback: AsyncCallback<boolean>): void -isLocalContact(id: number): Promise<boolean> +判断当前联系人id是否在电话簿中,使用callback方式作为异步方法。 -判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isLocalContact](#contactislocalcontact10) **需要权限**:ohos.permission.READ_CONTACTS @@ -300,33 +690,28 @@ isLocalContact(id: number): Promise<boolean> **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | ------------------------------------------ | -| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | - -**返回值:** - -| 类型 | 说明 | -| ---------------------- | ------------------------------------------------------------ | -| Promise<boolean> | 以Promise形式返回结果,返回布尔值。true代表联系人id在本地电话簿中,false则代表联系人id不在本地电话簿中。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | +| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | +| callback | AsyncCallback<boolean> | 是 | 回调函数,返回布尔值。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.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.isLocalContact10+ -## contact.isMyCard - -isMyCard(id: number, callback: AsyncCallback<boolean>): void +isLocalContact(context: Context, id: number): Promise<boolean> -判断是否为“我的名片”,使用callback方式作为异步方法。 +判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 **需要权限**:ohos.permission.READ_CONTACTS @@ -334,7 +719,140 @@ isMyCard(id: number, callback: AsyncCallback<boolean>): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------- | ------------------------------------------------------------ | +| Promise<boolean> | 以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)7+ + +isLocalContact(id: number): Promise<boolean> + +判断当前联系人id是否在电话簿中,使用Promise方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isLocalContact](#contactislocalcontact10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------------------------------ | +| id | number | 是 | 联系人对象的id属性,一个联系人对应一个id。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------- | ------------------------------------------------------------ | +| Promise<boolean> | 以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.isMyCard10+ + +isMyCard(context: Context, id: number, callback: AsyncCallback<boolean>): 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<boolean> | 是 | 回调函数,返回是否为“我的名片”的布尔值。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)7+ + +isMyCard(id: number, callback: AsyncCallback<boolean>): void + +判断是否为“我的名片”,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isMyCard](#contactismycard10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------- | ---- | ------------------------------------------------------------ | | id | number | 是 | 联系人对象的id属性。 | | callback | AsyncCallback<boolean> | 是 | 回调函数,返回是否为“我的名片”的布尔值。true代表此联系人是“我的名片”,false则代表不是。 | @@ -352,12 +870,64 @@ isMyCard(id: number, callback: AsyncCallback<boolean>): void ``` -## contact.isMyCard +## contact.isMyCard10+ + +isMyCard(context: Context, id: number): Promise<boolean> + +判断是否为“我的名片”,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| id | number | 是 | 联系人对象的id属性。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------- | ------------------------------------------------------------ | +| Promise<boolean> | 以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)7+ isMyCard(id: number): Promise<boolean> 判断是否为“我的名片”,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[isMyCard](#contactismycard10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -385,13 +955,59 @@ isMyCard(id: number): Promise<boolean> }); ``` +## contact.queryMyCard10+ + +queryMyCard(context: Context, callback: AsyncCallback<Contact>): void + +查询“我的名片”,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回“我的名片”信息。 | + +**错误码:** + +| 错误码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, (err, data) => { + if (err) { + console.log(`queryMyCard callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryMyCard callback: success data->${JSON.stringify(data)}`); + }); +``` -## contact.queryMyCard +## contact.queryMyCard(deprecated)7+ queryMyCard(callback: AsyncCallback<Contact>): void 查询“我的名片”,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -414,13 +1030,62 @@ queryMyCard(callback: AsyncCallback<Contact>): void }); ``` +## contact.queryMyCard10+ + +queryMyCard(context: Context, attrs: ContactAttributes, callback: AsyncCallback<Contact>): 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<[Contact](#contact)> | 是 | 回调函数,返回“我的名片”信息。 | + +**错误码:** + +| 错误码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 +## contact.queryMyCard(deprecated)7+ queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): void 查询“我的名片”,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -446,13 +1111,66 @@ queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): v }); ``` +## contact.queryMyCard10+ + +queryMyCard(context: Context, attrs?: ContactAttributes): Promise<Contact> + +查询“我的名片”,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------- | ------------------------------------------- | +| Promise<[Contact](#contact)> | 以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 +## contact.queryMyCard(deprecated)7+ queryMyCard(attrs?: ContactAttributes): Promise<Contact> 查询“我的名片”,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryMyCard](#contactquerymycard10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -482,12 +1200,16 @@ queryMyCard(attrs?: ContactAttributes): Promise<Contact> ``` -## contact.selectContact +## contact.selectContact(deprecated)7+ selectContact(callback: AsyncCallback<Array<Contact>>): void 选择联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[selectContacts](#contactselectcontacts10) + **系统能力**:SystemCapability.Applications.Contacts **参数:** @@ -509,12 +1231,16 @@ selectContact(callback: AsyncCallback<Array<Contact>>): void ``` -## contact.selectContact +## contact.selectContact(deprecated)7+ selectContact(): Promise<Array<Contact>> 选择联系人,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[selectContacts](#contactselectcontacts10) + **系统能力**:SystemCapability.Applications.Contacts **返回值:** @@ -534,63 +1260,148 @@ selectContact(): Promise<Array<Contact>> }); ``` +## contact.selectContacts10+ -## contact.queryContact - -queryContact(key: string, callback: AsyncCallback<Contact>): void - -根据key查询联系人,使用callback方式作为异步方法。 +selectContacts(callback: AsyncCallback<Array<Contact>>): void -**需要权限**:ohos.permission.READ_CONTACTS +选择联系人,使用callback方式作为异步方法。 -**系统能力**:SystemCapability.Applications.ContactsData +**系统能力**:SystemCapability.Applications.Contacts **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ---------------------------------------- | ---- | -------------------------------------- | -| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | -| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回选择的联系人对象数组。 | **示例:** ```js - contact.queryContact('xxx', (err, data) => { + contact.selectContacts((err, data) => { if (err) { - console.log(`queryContact callback: err->${JSON.stringify(err)}`); + console.log(`selectContact callback: err->${JSON.stringify(err)}`); return; } - console.log(`queryContact callback: success data->${JSON.stringify(data)}`); + console.log(`selectContact callback: success data->${JSON.stringify(data)}`); }); ``` +## contact.selectContacts10+ -## contact.queryContact +selectContacts(): Promise<Array<Contact>> -queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void +选择联系人,使用Promise方式作为异步方法。 -根据key查询联系人,使用callback方式作为异步方法。 +**系统能力**:SystemCapability.Applications.Contacts -**需要权限**:ohos.permission.READ_CONTACTS +**返回值:** -**系统能力**:SystemCapability.Applications.ContactsData +| 类型 | 说明 | +| ----------------------------------------------- | ------------------------------------------------- | +| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回选择的联系人对象数组。 | -**参数:** +**示例:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ---------------------------------------- | ---- | -------------------------------------- | -| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | -| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | -| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | + ```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.selectContacts10+ + +selectContacts(options: ContactSelectionOptions, callback: AsyncCallback<Array<Contact>>): void + +选择联系人,使用callback方式作为异步方法。 + +**系统能力**:SystemCapability.Applications.Contacts + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------ | +| options | ContactSelectionOptions | 是 | 选择联系人时的筛选条件 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回选择的联系人对象数组。 | **示例:** ```js - contact.queryContact('xxx', { - holderId: 0, - bundleName: "", - displayName: "" + 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.selectContacts10+ + +selectContacts(options: ContactSelectionOptions): Promise<Array<Contact>> + +选择联系人,使用Promise方式作为异步方法。 + +**系统能力**:SystemCapability.Applications.Contacts + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------------------- | ------------------------------------------------- | +| options | ContactSelectionOptions | 是 | 选择联系人时的筛选条件 | +| Promise<Array<[Contact](#contact)>> | 以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.queryContact10+ + +queryContact(context: Context, key: string, callback: AsyncCallback<Contact>): 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<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | + +**错误码:** + +| 错误码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; @@ -599,13 +1410,16 @@ queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact> }); ``` +## contact.queryContact(deprecated)7+ -## contact.queryContact - -queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void +queryContact(key: string, callback: AsyncCallback<Contact>): void 根据key查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -615,15 +1429,12 @@ queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback< | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | -------------------------------------- | | key | string | 是 | 联系人的key值,一个联系人对应一个key。 | -| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | **示例:** ```js - contact.queryContact('xxx', { - attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] - }, (err, data) => { + contact.queryContact('xxx', (err, data) => { if (err) { console.log(`queryContact callback: err->${JSON.stringify(err)}`); return; @@ -633,12 +1444,65 @@ queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback< ``` -## contact.queryContact +## contact.queryContact10+ -queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void +queryContact(context: Context, key: string, holder: Holder, callback: AsyncCallback<Contact>): 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<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | + +**错误码:** + +| 错误码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)7+ + +queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void 根据key查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -649,7 +1513,6 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As | -------- | ---------------------------------------- | ---- | -------------------------------------- | | key | string | 是 | 联系人的key值,一个联系人对应一个key。 | | holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | -| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | **示例:** @@ -659,8 +1522,6 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As 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)}`); @@ -670,12 +1531,11 @@ queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: As }); ``` +## contact.queryContact10+ -## contact.queryContact - -queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact> +queryContact(context: Context, key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void -根据key查询联系人,使用Promise方式作为异步方法。 +根据key查询联系人,使用callback方式作为异步方法。 **需要权限**:ohos.permission.READ_CONTACTS @@ -683,40 +1543,50 @@ queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise&l **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | --------------------------------------- | ---- | -------------------------------------- | -| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | -| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | -| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | -**返回值:** -| 类型 | 说明 | -| ---------------------------------- | ----------------------------------------------- | -| Promise<[Contact](#contact)> | 以Promise形式返回结果,返回查询到的联系人对象。 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 201 | Permission denied. | +| 401 | Parameter error. | **示例:** ```js - let promise = contact.queryContact('xxx', { - holderId: 0, - bundleName: "", - displayName: "" - }, { + // 获取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] - }); - promise.then((data) => { - console.log(`queryContact success: data->${JSON.stringify(data)}`); - }).catch((err) => { - console.error(`queryContact fail: err->${JSON.stringify(err)}`); + }, (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)7+ -## contact.queryContacts +queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void -queryContacts(callback: AsyncCallback<Array<Contact>>): void +根据key查询联系人,使用callback方式作为异步方法。 -查询所有联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10) **需要权限**:ohos.permission.READ_CONTACTS @@ -724,28 +1594,31 @@ queryContacts(callback: AsyncCallback<Array<Contact>>): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | -| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | -------------------------------------- | +| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | **示例:** ```js - contact.queryContacts((err, data) => { + contact.queryContact('xxx', { + attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] + }, (err, data) => { if (err) { - console.log(`queryContacts callback: err->${JSON.stringify(err)}`); + console.log(`queryContact callback: err->${JSON.stringify(err)}`); return; } - console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); + console.log(`queryContact callback: success data->${JSON.stringify(data)}`); }); ``` +## contact.queryContact10+ -## contact.queryContacts - -queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void +queryContact(context: Context, key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void -查询所有联系人,使用callback方式作为异步方法。 +根据key查询联系人,使用callback方式作为异步方法。 **需要权限**:ohos.permission.READ_CONTACTS @@ -753,33 +1626,55 @@ queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>> **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | -| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | -| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 201 | Permission denied. | +| 401 | Parameter error. | **示例:** - ```js - contact.queryContacts({ +```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(`queryContacts callback: err->${JSON.stringify(err)}`); + console.log(`queryContact callback: err->${JSON.stringify(err)}`); return; } - console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); + console.log(`queryContact callback: success data->${JSON.stringify(data)}`); }); - ``` +``` +## contact.queryContact(deprecated)7+ -## contact.queryContacts +queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void -queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void +根据key查询联系人,使用callback方式作为异步方法。 -查询所有联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContact](#contactquerycontact10) **需要权限**:ohos.permission.READ_CONTACTS @@ -787,31 +1682,37 @@ queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Cont **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | -| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | -| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | -------------------------------------- | +| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<[Contact](#contact)> | 是 | 回调函数,返回查询的联系人对象。 | **示例:** ```js - contact.queryContacts({ + contact.queryContact('xxx', { + 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)}`); + console.log(`queryContact callback: err->${JSON.stringify(err)}`); return; } - console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); + console.log(`queryContact callback: success data->${JSON.stringify(data)}`); }); ``` -## contact.queryContacts +## contact.queryContact10+ -queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void +queryContact(context: Context, key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact> -查询所有联系人,使用callback方式作为异步方法。 +根据key查询联系人,使用Promise方式作为异步方法。 **需要权限**:ohos.permission.READ_CONTACTS @@ -819,36 +1720,693 @@ queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback& **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | -| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | -| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | -| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| key | string | 是 | 联系人的key值,一个联系人对应一个key。 | +| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | + +**返回值:** +| 类型 | 说明 | +| ---------------------------------- | ----------------------------------------------- | +| Promise<[Contact](#contact)> | 以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)7+ + +queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact> + +根据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<[Contact](#contact)> | 以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.queryContacts10+ + +queryContacts(context: Context, callback: AsyncCallback<Array<Contact>>): void + +查询所有联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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)7+ + +queryContacts(callback: AsyncCallback<Array<Contact>>): void + +查询所有联系人,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**示例:** + + ```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.queryContacts10+ + +queryContacts(context: Context, holder: Holder, callback: AsyncCallback<Array<Contact>>): 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<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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)7+ + +queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void + +查询所有联系人,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**示例:** + + ```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.queryContacts10+ + +queryContacts(context: Context, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): 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<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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)7+ + +queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void + +查询所有联系人,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**示例:** + + ```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.queryContacts10+ + +queryContacts(context: Context, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): 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<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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)7+ + +queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void + +查询所有联系人,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | -------------------------------------- | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**示例:** + + ```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.queryContacts10+ + +queryContacts(context: Context, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> + +查询所有联系人,使用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<Array<[Contact](#contact)>> | 以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)7+ + +queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> + +查询所有联系人,使用Promise方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContacts](#contactquerycontacts10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | --------------------------------------- | ---- | ---------------------- | +| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------------------- | --------------------------------------------------- | +| Promise<Array<[Contact](#contact)>> | 以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.queryContactsByPhoneNumber10+ + +queryContactsByPhoneNumber(context: Context, phoneNumber: string, callback: AsyncCallback<Array<Contact>>): 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<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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)7+ + +queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void + +根据电话号码查询联系人,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | +| phoneNumber | string | 是 | 联系人的电话号码。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**示例:** + + ```js + contact.queryContactsByPhoneNumber('138xxxxxxxx', (err, data) => { + if (err) { + console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); + }); + ``` + + +## contact.queryContactsByPhoneNumber10+ + +queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void + +根据电话号码查询联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| phoneNumber | string | 是 | 联系人的电话号码。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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', { + holderId: 0, + bundleName: "", + displayName: "" + }, (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)7+ + +queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void + +根据电话号码查询联系人,使用callback方式作为异步方法。 + +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10) + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | +| phoneNumber | string | 是 | 联系人的电话号码。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | **示例:** ```js - contact.queryContacts({ + contact.queryContactsByPhoneNumber('138xxxxxxxx', { 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)}`); + console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); return; } - console.log(`queryContacts callback: success data->${JSON.stringify(data)}`); + console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); }); ``` +## contact.queryContactsByPhoneNumber10+ -## contact.queryContacts - -queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> +queryContactsByPhoneNumber(context: Context, phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void -查询所有联系人,使用Promise方式作为异步方法。 +根据电话号码查询联系人,使用callback方式作为异步方法。 **需要权限**:ohos.permission.READ_CONTACTS @@ -856,40 +2414,51 @@ queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<C **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | --------------------------------------- | ---- | ---------------------- | -| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | -| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| phoneNumber | string | 是 | 联系人的电话号码。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | -**返回值:** -| 类型 | 说明 | -| ----------------------------------------------- | --------------------------------------------------- | -| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 | +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 201 | Permission denied. | +| 401 | Parameter error. | **示例:** ```js - let promise = contact.queryContacts({ - holderId: 0, - bundleName: "", - displayName: "" - }, { + // 获取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] - }); - promise.then((data) => { - console.log(`queryContacts success: data->${JSON.stringify(data)}`); - }).catch((err) => { - console.error(`queryContacts 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(deprecated)7+ -## contact.queryContactsByPhoneNumber - -queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void +queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 根据电话号码查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -899,12 +2468,15 @@ queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array | 参数名 | 类型 | 必填 | 说明 | | ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | | phoneNumber | string | 是 | 联系人的电话号码。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | **示例:** ```js - contact.queryContactsByPhoneNumber('138xxxxxxxx', (err, data) => { + contact.queryContactsByPhoneNumber('138xxxxxxxx', { + attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] + }, (err, data) => { if (err) { console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); return; @@ -913,10 +2485,9 @@ queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array }); ``` +## contact.queryContactsByPhoneNumber10+ -## contact.queryContactsByPhoneNumber - -queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void +queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 根据电话号码查询联系人,使用callback方式作为异步方法。 @@ -926,19 +2497,37 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncC **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | -| phoneNumber | string | 是 | 联系人的电话号码。 | -| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | -| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| phoneNumber | string | 是 | 联系人的电话号码。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 201 | Permission denied. | +| 401 | Parameter error. | **示例:** ```js - contact.queryContactsByPhoneNumber('138xxxxxxxx', { + // 获取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] }, (err, data) => { if (err) { console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); @@ -948,13 +2537,16 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncC }); ``` +## contact.queryContactsByPhoneNumber(deprecated)7+ -## contact.queryContactsByPhoneNumber - -queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void +queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 根据电话号码查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -964,6 +2556,7 @@ queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callba | 参数名 | 类型 | 必填 | 说明 | | ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | | phoneNumber | string | 是 | 联系人的电话号码。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | | attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | | callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | @@ -971,6 +2564,10 @@ queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callba ```js contact.queryContactsByPhoneNumber('138xxxxxxxx', { + holderId: 0, + bundleName: "", + displayName: "" + }, { attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] }, (err, data) => { if (err) { @@ -981,12 +2578,11 @@ queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callba }); ``` +## contact.queryContactsByPhoneNumber10+ -## contact.queryContactsByPhoneNumber - -queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void +queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> -根据电话号码查询联系人,使用callback方式作为异步方法。 +根据电话号码查询联系人,使用Promise方式作为异步方法。 **需要权限**:ohos.permission.READ_CONTACTS @@ -994,38 +2590,60 @@ queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAt **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ----------------------------------------------------- | ---- | -------------------------------------- | -| phoneNumber | string | 是 | 联系人的电话号码。 | -| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | -| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | -| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| phoneNumber | string | 是 | 联系人的电话号码。 | +| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------------------- | --------------------------------------------------- | +| Promise<Array<[Contact](#contact)>> | 以Promise形式返回结果,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码ID | 错误信息 | +| -------- | ------------------ | +| 201 | Permission denied. | +| 401 | Parameter error. | **示例:** ```js - contact.queryContactsByPhoneNumber('138xxxxxxxx', { + // 获取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, bundleName: "", displayName: "" }, { attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] - }, (err, data) => { - if (err) { - console.log(`queryContactsByPhoneNumber callback: err->${JSON.stringify(err)}`); - return; - } - console.log(`queryContactsByPhoneNumber callback: success data->${JSON.stringify(data)}`); + }); + promise.then((data) => { + console.log(`queryContactsByPhoneNumber success: data->${JSON.stringify(data)}`); + }).catch((err) => { + console.error(`queryContactsByPhoneNumber fail: err->${JSON.stringify(err)}`); }); ``` - -## contact.queryContactsByPhoneNumber +## contact.queryContactsByPhoneNumber(deprecated)7+ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 根据电话号码查询联系人,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByPhoneNumber](#contactquerycontactsbyphonenumber10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1061,13 +2679,60 @@ queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: Contact }); ``` +## contact.queryContactsByEmail10+ + +queryContactsByEmail(context: Context, email: string, callback: AsyncCallback<Array<Contact>>): void + +根据email查询联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| email | string | 是 | 联系人的邮箱地址。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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.queryContactsByEmail(globalThis.context as Context, '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 +## contact.queryContactsByEmail(deprecated)7+ queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact>>): void 根据email查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1091,13 +2756,65 @@ queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact& }); ``` +## contact.queryContactsByEmail10+ + +queryContactsByEmail(context: Context, email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void + +根据email查询联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| email | string | 是 | 联系人的邮箱地址。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到的联系人对象数组。 | + +**错误码:** + +| 错误码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.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', { + holderId: 0, + bundleName: "", + displayName: "" + }, (err, data) => { + if (err) { + console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); + }); + ``` -## contact.queryContactsByEmail +## contact.queryContactsByEmail(deprecated)7+ queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void 根据email查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1126,13 +2843,63 @@ queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<A }); ``` +## contact.queryContactsByEmail10+ + +queryContactsByEmail(context: Context, email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void + +根据email查询联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| email | string | 是 | 联系人的邮箱地址。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到联系人对象数组。 | + +**错误码:** + +| 错误码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.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', { + attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] + }, (err, data) => { + if (err) { + console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); + }); + ``` -## contact.queryContactsByEmail +## contact.queryContactsByEmail(deprecated)7+ queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 根据email查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1159,13 +2926,68 @@ queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCal }); ``` +## contact.queryContactsByEmail10+ + +queryContactsByEmail(context: Context, email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void + +根据email查询联系人,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| email | string | 是 | 联系人的邮箱地址。 | +| holder | [Holder](#holder) | 是 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 是 | 联系人的属性列表。 | +| callback | AsyncCallback<Array<[Contact](#contact)>> | 是 | 回调函数,返回查询到联系人对象数组。 | + +**错误码:** + +| 错误码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.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', { + holderId: 0, + bundleName: "", + displayName: "" + }, { + attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] + }, (err, data) => { + if (err) { + console.log(`queryContactsByEmail callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryContactsByEmail callback: success data->${JSON.stringify(data)}`); + }); + ``` -## contact.queryContactsByEmail +## contact.queryContactsByEmail(deprecated)7+ queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void 根据email查询联系人,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1197,13 +3019,72 @@ queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, ca }); ``` - -## contact.queryContactsByEmail +## contact.queryContactsByEmail10+ + +queryContactsByEmail(context: Context, email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> + +根据email查询联系人,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | --------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| email | string | 是 | 联系人的邮箱地址。 | +| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | +| attrs | [ContactAttributes](#contactattributes) | 否 | 联系人的属性列表。 | + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------------------- | --------------------------------------------------- | +| Promise<Array<[Contact](#contact)>> | 以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.queryContactsByEmail(globalThis.context as Context, 'xxx@email.com', { + holderId: 0, + bundleName: "", + displayName: "" + }, { + attributes: [contact.Attribute.ATTR_EMAIL, contact.Attribute.ATTR_NAME] + }); + promise.then((data) => { + console.log(`queryContactsByEmail success: data->${JSON.stringify(data)}`); + }).catch((err) => { + console.error(`queryContactsByEmail fail: err->${JSON.stringify(err)}`); + }); + ``` + +## contact.queryContactsByEmail(deprecated)7+ queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>> 根据email查询联系人,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryContactsByEmail](#contactquerycontactsbyemail10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1239,13 +3120,59 @@ queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): }); ``` +## contact.queryGroups10+ + +queryGroups(context: Context, callback: AsyncCallback<Array<Group>>): void + +查询联系人的所有群组,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数,返回查询到的群组对象数组。 | + +**错误码:** + +| 错误码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.queryGroups(globalThis.context as Context, (err, data) => { + if (err) { + console.log(`queryGroups callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryGroups callback: success data->${JSON.stringify(data)}`); + }); + ``` -## contact.queryGroups +## contact.queryGroups(deprecated)7+ queryGroups(callback: AsyncCallback<Array<Group>>): void 查询联系人的所有群组,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryGroups](#contactquerygroups10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1268,13 +3195,64 @@ queryGroups(callback: AsyncCallback<Array<Group>>): void }); ``` +## contact.queryGroups10+ + +queryGroups(context: Context, holder: Holder, callback: AsyncCallback<Array<Group>>): void + +查询联系人的所有群组,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| holder | Holder | 是 | 创建联系人的应用信息。 | +| callback | AsyncCallback<Array<[Group](#group)>> | 是 | 回调函数,返回查询到的群组对象数组。 | + +**错误码:** + +| 错误码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.queryGroups(globalThis.context as Context, { + holderId: 0, + bundleName: "", + displayName: "" + }, (err, data) => { + if (err) { + console.log(`queryGroups callback: err->${JSON.stringify(err)}`); + return; + } + console.log(`queryGroups callback: success data->${JSON.stringify(data)}`); + }); + ``` -## contact.queryGroups +## contact.queryGroups(deprecated)7+ queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): void 查询联系人的所有群组,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryGroups](#contactquerygroups10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1302,13 +3280,68 @@ queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): }); ``` +## contact.queryGroups10+ + +queryGroups(context: Context, holder?: Holder): Promise<Array<Group>> + +查询联系人的所有群组,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ----------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| holder | [Holder](#holder) | 否 | 创建联系人的应用信息。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------------------------------- | ------------------------------------------------- | +| Promise<Array<[Group](#group)>> | 以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.queryGroups(globalThis.context as Context, { + holderId: 0, + bundleName: "", + displayName: "" + }); + promise.then((data) => { + console.log(`queryGroups success: data->${JSON.stringify(data)}`); + }).catch((err) => { + console.error(`queryGroups fail: err->${JSON.stringify(err)}`); + }); + ``` -## contact.queryGroups +## contact.queryGroups(deprecated)7+ queryGroups(holder?: Holder): Promise<Array<Group>> 查询联系人的所有群组,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryGroups](#contactquerygroups10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1340,13 +3373,59 @@ queryGroups(holder?: Holder): Promise<Array<Group>> }); ``` +## contact.queryHolders10+ + +queryHolders(context: Context, callback: AsyncCallback<Array<Holder>>): void + +查询所有创建联系人的应用信息,使用callback方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------------------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | +| callback | AsyncCallback<Array<[Holder](#holder)>> | 是 | 回调函数,返回查询到的创建联系人应用信息的对象数组。 | -## contact.queryHolders +**错误码:** + +| 错误码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(deprecated)7+ queryHolders(callback: AsyncCallback<Array<Holder>>): void 查询所有创建联系人的应用信息,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryHolders](#contactqueryholders10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1369,13 +3448,63 @@ queryHolders(callback: AsyncCallback<Array<Holder>>): void }); ``` +## contact.queryHolders10+ -## contact.queryHolders +queryHolders(context: Context ): Promise<Array<Holder>> + +查询所有创建联系人的应用信息,使用Promise方式作为异步方法。 + +**需要权限**:ohos.permission.READ_CONTACTS + +**系统能力**:SystemCapability.Applications.ContactsData + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------- | ---- | ------------------------------------------------------------ | +| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](js-apis-inner-application-context.md)。 | + +**返回值:** + +| 类型 | 说明 | +| --------------------------------------------- | ------------------------------------------------------------ | +| Promise<Array<[Holder](#holder)>> | 以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(deprecated)7+ queryHolders(): Promise<Array<Holder>> 查询所有创建联系人的应用信息,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryHolders](#contactqueryholders10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1397,13 +3526,60 @@ queryHolders(): Promise<Array<Holder>> }); ``` +## contact.queryKey10+ + +queryKey(context: Context, id: number, callback: AsyncCallback<string>): void -## contact.queryKey +根据联系人的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<string> | 是 | 回调函数,返回查询到的联系人对应的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; + } + } + 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)7+ queryKey(id: number, callback: AsyncCallback<string>): void 根据联系人的id查询联系人的key,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryKey](#contactquerykey10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1427,13 +3603,65 @@ queryKey(id: number, callback: AsyncCallback<string>): void }); ``` +## contact.queryKey10+ + +queryKey(context: Context, id: number, holder: Holder, callback: AsyncCallback<string>): 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<string> | 是 | 回调函数,返回查询到的联系人对应的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; + } + } + 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 +## contact.queryKey(deprecated)7+ queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): void 根据联系人的id查询联系人的key,使用callback方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryKey](#contactquerykey10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1462,13 +3690,69 @@ queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): voi }); ``` +## contact.queryKey10+ + +queryKey(context: Context, id: number, holder?: Holder): Promise<string> + +根据联系人的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<string> | 以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)7+ queryKey(id: number, holder?: Holder): Promise<string> 根据联系人的id查询联系人的key,使用Promise方式作为异步方法。 +> **说明** +> +> 从API version 7 开始支持,从API 10 开始废弃,建议使用[queryKey](#contactquerykey10) + **需要权限**:ohos.permission.READ_CONTACTS **系统能力**:SystemCapability.Applications.ContactsData @@ -1501,6 +3785,17 @@ queryKey(id: number, holder?: Holder): Promise<string> }); ``` +## ContactSelectionOptions10+ + +选择联系人条件。 + +**系统能力**:SystemCapability.Applications.Contacts + +| 名称 | 类型 | 必填 | 说明 | +| --------------------------------- | ------------------------------------- | ---- | ---------------- | +| isMultiSelect 10+ | boolean | 否 | 是否为多选 | + + ## Contact