读
val uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI
val cursor = context.contentResolver.query(uri,null,null,null,null)
写
一插 获取 contact id
ContactsContract.RawContacts.CONTENT_URI.
二插 设置名字
ContactsContract.Data.CONTENT_URI
三插 设置号码
ContactsContract.Data.CONTENT_URI
只添加一个联系人
val a = ContentValues().apply {
this.put(ContactsContract.RawContacts.ACCOUNT_TYPE,"TZS")
this.put(ContactsContract.RawContacts.ACCOUNT_NAME, "")
}
context.contentResolver.insert(ContactsContract.RawContacts.CONTENT_URI,a)
val b = ContentValues().apply {
this.put(ContactsContract.Data.RAW_CONTACT_ID, i)
this.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
this.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, myContactList[i].first)
}
context.contentResolver.insert(ContactsContract.Data.CONTENT_URI,b)
val c = ContentValues().apply {
this.put(ContactsContract.Data.RAW_CONTACT_ID, i)
this.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
this.put(ContactsContract.CommonDataKinds.Phone.NUMBER, myContactList[i].second)
this.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
}
context.contentResolver.insert(ContactsContract.Data.CONTENT_URI,c)
批量插入联系人
val size = myContactList.size
val contentValuesRaw = arrayOfNulls<ContentValues>(size)
val contentValuesPhone = arrayOfNulls<ContentValues>(size)
val contentValuesName = arrayOfNulls<ContentValues>(size)
contentValuesRaw[i] = ContentValues().apply {
this.put(ContactsContract.RawContacts.ACCOUNT_TYPE,"TZS")
this.put(ContactsContract.RawContacts.ACCOUNT_NAME, "")
}
contentValuesName[i] = ContentValues().apply {
this.put(ContactsContract.Data.RAW_CONTACT_ID, i)
this.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
this.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, myContactList[i].first)
}
contentValuesPhone[i] = ContentValues().apply {
this.put(ContactsContract.Data.RAW_CONTACT_ID, i)
this.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
this.put(ContactsContract.CommonDataKinds.Phone.NUMBER, myContactList[i].second)
this.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
}
// 依次插入
context.contentResolver.bulkInsert(ContactsContract.RawContacts.CONTENT_URI, contentValuesRaw)
context.contentResolver.bulkInsert(ContactsContract.Data.CONTENT_URI, contentValuesName)
context.contentResolver.bulkInsert(ContactsContract.Data.CONTENT_URI, contentValuesPhone)