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

在这里插入图片描述

            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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值