安卓 通讯录高效读写全指导

mac2024-08-01  61

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)
最新回复(0)