I would like to integrate my app with contact manager:
More precisely:
When I run Contact app in my phone and then I click on any avatar, a Popup (Quick Cont
Here's how you're able to add Custom Field in the ContactsContract.IM.
val contentProviderOperation = ArrayList()
val rawContactInsertIndex = contentProviderOperation.size
contentProviderOperation.add(
ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
.build()
)
val customOperation = ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(
ContactsContract.Data.RAW_CONTACT_ID,
rawContactInsertIndex
).withValue(
ContactsContract.Contacts.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE
).withValue(
ContactsContract.Contacts.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Im.CONTENT_ITEM_TYPE
).withValue(
ContactsContract.CommonDataKinds.Im.TYPE,
ContactsContract.CommonDataKinds.Im.TYPE_CUSTOM
).withValue(
ContactsContract.CommonDataKinds.Im.PROTOCOL,
ContactsContract.CommonDataKinds.Im.PROTOCOL_CUSTOM
).withValue(
ContactsContract.CommonDataKinds.Im.CUSTOM_PROTOCOL,
"Custom IM Field"
).withValue(
ContactsContract.CommonDataKinds.Im.DATA,
"Custom IM Value"
)
contentProviderOperation.add(customOperation.build())
contentResolver.applyBatch(ContactsContract.AUTHORITY, contentProviderOperation)