¿Cómo puedo unir programáticamente 2 contactos en android?

Necesito saber si es posible unir dos o más contactos (de una manera programática, usando la API de contactos Android o algo parecido).

Por ejemplo, tengo un contacto "Axel Rose" con una cuenta de correo electrónico y un número de teléfono, y he notado que algunas aplicaciones como whatsapp, Facebook y Skype están creando nuevas entradas de contacto para Axel Rose, en lugar de fusionar la existente.

Puedo unirme a los contactos usando la función "Join" desde el teléfono, pero ¿hay una forma programática?

Gracias por adelantado.
Cristian.

Puede utilizar AggregationExceptions . Consulte ¿Cómo agregar manualmente contactos ?

Un buen lugar para entender cómo funcionan los contactos y la agregación es la documentación del proveedor de contactos

Breve resumen:

Los contactos que ve en su agenda son los de la tabla ContactsContract.Contacts. La foto, teléfono, etc que se muestra en la agenda viene de diferentes entradas RawContacts. Un contacto puede tener uno o varios RawContacts.

Un Contacto pasa a tener varios RawContact cuando los RawContacts comparten algunos datos en común (nombre, número de teléfono, correo electrónico, etc). La unión de este RawContacts en un único Contacto se realiza mediante reglas de agregación automática (véase Documentos de Contacto Basicos ).

No puede insertar contactos en la tabla ContactsContract.Contacts. De la documentación:

Nota: si intenta agregar un contacto al proveedor de contactos con un insert (), obtendrá una excepción UnsupportedOperationException. Si intenta actualizar una columna que aparece como "de sólo lectura", la actualización se omite.

  • cómo combinar DISPLAY_NAME y NUMBER en un CursorAdapter personalizado?
  • ¿Cómo obtiene los miembros de un grupo de contacto?
  • Contactos del dispositivo Android que muestran entradas de contacto duplicadas
  • Cómo agregar un contacto con nombre y apellido por intención
  • Android: ¿Comprobar el número de teléfono presente en la Lista de contactos? (Número de teléfono recuperado de una llamada telefónica)
  • Abrir la lista de contactos del dispositivo en el evento de clic de botón
  • Realiza alguna acción con el campo personalizado de Contacto
  • Leer todos los números de teléfono del contacto en android
  • Número de teléfono de consulta de Android para obtener rawcontactID
  • ¿Cómo saber el WiFi conectado es Walled Gardened (Captive Portal)?
  • ¿Cómo actualizar la empresa de contacto de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.