概述
第一步
- 往手机联系人应用中的raw_contacts表添加一条记录
raw_contacts表
ContentValues values = new ContentValues();
// 往 raw_contacts 添加联系人记录,并获取添加后的联系人编号
Uri uri = resolver.insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(uri);
第二步
- 将对应数据通过raw_contacts中的id与data表进行关联,插入对应相应数据
data表
- 记录了用户的通讯录所有数据,包括手机号,显示名称等,但是里面的mimetype_id表示不同的数据类型,这与表mimetypes表中的id相对应。
ContentValues name = new ContentValues();
// 关联联系人编号
name.put(Contacts.Data.RAW_CONTACT_ID, rawContactId);
// 姓名的数据类型
name.put(Contacts.Data.MIMETYPE, CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
// 联系人的姓名
name.put(Contacts.Data.DATA2, contact.name);
// 添加联系人姓名记录
resolver.insert(ContactsContract.Data.CONTENT_URI, name);
案例代码