diff --git a/zh-cn/application-dev/contacts/Readme-CN.md b/zh-cn/application-dev/contacts/Readme-CN.md index 89aecf5bd83206669b29ee2c670f69298f67a844..2820abd6bb249e8cdfc801f7307441cdc05b37af 100644 --- a/zh-cn/application-dev/contacts/Readme-CN.md +++ b/zh-cn/application-dev/contacts/Readme-CN.md @@ -1,3 +1,4 @@ # Contacts Kit(联系人服务) - [Contacts Kit开发概述](contacts-intro.md) +- [使用picker管理联系人](contacts-addcontactviaui.md) diff --git a/zh-cn/application-dev/contacts/contacts-addcontactviaui.md b/zh-cn/application-dev/contacts/contacts-addcontactviaui.md new file mode 100644 index 0000000000000000000000000000000000000000..0a688bfbb865425b3707ffadaaad4a0eeaf347bc --- /dev/null +++ b/zh-cn/application-dev/contacts/contacts-addcontactviaui.md @@ -0,0 +1,82 @@ +# 使用picker管理联系人 + +## 接口说明 + +| 接口名 | 描述 | +| --------------------- | ------------------------------------------ | +| addContactViaUI(context: Context, contact: Contact): Promise<number> | 调用新建联系人接口,打开新建联系人UI界面,新建完成。使用Promise异步回调。 | +| saveToExistingContactViaUI(context: Context, contact: Contact): Promise<number> | 调用保存至已有联系人接口,选择联系人UI界面并完成编辑。使用Promise异步回调。 | + + +## 使用picker新建联系人 + +调用新建联系人接口,打开新建联系人UI界面,用户可在UI界面中填写并新建联系人。 + +```js +import { common } from '@kit.AbilityKit'; +import { contact } from '@kit.ContactsKit'; + + +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .onClick(() => { + let contactInfo: contact.Contact = { + name: { + fullName: 'xxx' + }, + phoneNumbers: [{ + phoneNumber: '138xxxxxx' + }] + } + let context = this.getUIContext().getHostContext() as common.UIAbilityContext; + let promise = contact.addContactViaUI(context, contactInfo); + }) + } + } +} +``` + +## 使用picker更新联系人信息 + +可以通过拉起picker,将选中的联系人信息更新到现有联系人中。 + +```js +import { common } from '@kit.AbilityKit'; +import { contact } from '@kit.ContactsKit'; + + +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .onClick(() => { + let contactInfo: contact.Contact = { + id: 1, + name: { + fullName: 'xxx' + }, + phoneNumbers: [{ + phoneNumber: '138xxxxxx' + }] + } + let context = this.getUIContext().getHostContext() as common.UIAbilityContext; + let promise = contact.saveToExistingContactViaUI(context, contactInfo); + }) + } + } +} +``` \ No newline at end of file diff --git a/zh-cn/application-dev/contacts/contacts-intro.md b/zh-cn/application-dev/contacts/contacts-intro.md index 9d1a65cb308c927234644b248401805a9c8fdaf8..e2d8d193784d4543ce0bfb7ae849e5a639486e60 100644 --- a/zh-cn/application-dev/contacts/contacts-intro.md +++ b/zh-cn/application-dev/contacts/contacts-intro.md @@ -23,8 +23,6 @@ Contacts Kit可以帮助开发者轻松实现联系人的增删改查等功能 - [联系人管理](#联系人管理受限开放) -- [选择联系人](#选择联系人受限开放) - ## 使用Picker选择联系人 @@ -55,34 +53,6 @@ Contacts Kit可以帮助开发者轻松实现联系人的增删改查等功能 3. 完成操作,返回想要的data数据。 -## 选择联系人(受限开放) - -1. 声明接口调用所需要的权限。 - - 选择联系人,调用selectContacts接口,需要配置ohos.permission.WRITE_CONTACTS权限,权限级别为system_basic。在申请权限前,请保证符合[权限使用的基本原则](../security/AccessToken/app-permission-mgmt-overview.md#权限使用的基本原则)。然后参考[申请应用权限](../security/AccessToken/determine-application-mode.md#system_basic等级应用申请权限的方式)声明对应权限。 - -2. 设置一个需要的Permissions数组变量。 - -3. 执行对应联系人的权限操作。 - - ```ts - import { common, abilityAccessCtrl, Permissions } from '@kit.AbilityKit'; - import { contact } from '@kit.ContactsKit'; - - let context = this.getUIContext().getHostContext() as common.UIAbilityContext; - const permissions: Array = ['ohos.permission.WRITE_CONTACTS']; - - abilityAccessCtrl.createAtManager().requestPermissionsFromUser(context, permissions).then(() => { - try { - contact.selectContacts(); - } catch(err) { - console.error('errCode: ' + err.code + ', errMessage: ' + err.message); - } - }) - - ``` - - ## 联系人管理(受限开放) 若需要在应用内实现管理联系人的功能,可以使用permissions接口获取应用对联系人的编辑权限。