Integrate my app with Contact

后端 未结 2 1737
清酒与你
清酒与你 2020-12-01 08:27

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

2条回答
  •  没有蜡笔的小新
    2020-12-01 09:09

    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)
    

提交回复
热议问题