通过跳转至系统通讯录方式,添加新的联系人,或编辑已有联系人

发布时间 2023-05-05 16:00:13作者: 我就像奶油

·需求:

将联系人信息通过跳转至系统通讯录联系人编辑界面的方式,添加新的联系人,或是更新到已有联系人。

联系人信息主要是姓名和电话号码,其中电话号码是list列表,可能为多个号码。

·重点:

如何将信息更新至已有联系人中

·参考文章:

https://juejin.cn/post/6953963082339057672

·实现代码:

    public void addUser(String name, List<String> numberList, Context context) {
// TODO 对参数进行非空判断 List
<ContentValues> values= new ArrayList<>(); for (String number : numberList) { ContentValues valueNumber = new ContentValues(); valueNumber.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); valueNumber.put(ContactsContract.CommonDataKinds.Phone.NUMBER, number); valueNumber.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE); values.add(valueNumber); } //可选择已有联系人进行修改,或直接新建联系人 Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT); intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE); intent.putExtra(ContactsContract.Intents.Insert.NAME, name); intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, (ArrayList<? extends Parcelable>) values); context.startActivity(intent); }