通过跳转至系统通讯录方式,添加新的联系人,或编辑已有联系人
·需求:
将联系人信息通过跳转至系统通讯录联系人编辑界面的方式,添加新的联系人,或是更新到已有联系人。
联系人信息主要是姓名和电话号码,其中电话号码是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); }