2012-09-06 24 views
9

¿Android asigna identificaciones constantes únicas a cada contacto?
Si no, ¿hay alguna manera de asignarles tal información? ¿Pude sincronizar esta identificación con los contactos de google?ID de contacto único

Gracias.

Respuesta

4

Hay dos tipos de identificadores de contactos en los contactos de Android.

uno es contact_id ans otro es RAW_CONTACT_ID

Consulte este tutorial. ANDROID CONTACTS

Espero que esto te ayude.

+0

Pero no creo que estas identificaciones serán constantes si sincronizarlos a otro dispositivo que está vinculada a mi cuenta de Google. ¿Hay alguna manera de sincronizar los datos definidos por el usuario con mis contactos de Google? – user1651653

+0

por supuesto que no. son los únicos identificadores dentro del dispositivo Android solamente. –

+0

esto no responde a la pregunta: ¿Android asigna identificaciones constantes únicas para cada contacto? ¿Si o no? – Simon

4

Puede recuperar identificadores únicos solo para los contactos de Google sincronizados. En otros casos, puede obtener diferentes identificadores, ya que en Android, raw_id de cada contacto se cambia cada vez que el usuario restablece o vuelve a importar los contactos a la guía telefónica.

Si desea uniformidad en los identificadores de contacto, independientemente del dispositivo, la plataforma puede utilizar solo los contactos de Google sincronizados o escribir su propio código de trabajo para generar identificadores únicos, como p. obtener hash del número de contacto, nombre, etc, que raramente cambia

0
ContactsContract.RawContacts SOURCE_ID 

Valor de cadena que identifica de forma exclusiva este contacto prima a la cuenta en la que fue creada

Cuando un adaptador de sincronización crea una nueva prima contacto, esta columna debe ser configurada en la ID única del servidor para el contacto bruto. Cuando una aplicación Android crea un nuevo contacto sin procesar, la aplicación debe dejar esta columna vacía. Esto indica al adaptador de sincronización que debe crear un nuevo contacto sin formato en el servidor y obtener un valor para SOURCE_ID. En en particular, el ID de origen debe ser único para cada tipo de cuenta y debe ser estable en las sincronizaciones:

Único: Cada contacto sin procesar para una cuenta debe tener su propia identificación de origen. Si no aplica esto, causará problemas en la aplicación de contactos . Tenga en cuenta que dos contactos sin formato para el mismo tipo de cuenta pueden tener el mismo ID de origen. Por ejemplo, el contacto sin formato "Thomas Higginson" para la cuenta [email protected] puede tener el mismo ID de fuente que el contacto sin procesar "Thomas Higginson" para la cuenta [email protected] Estable: los identificadores de origen son una parte permanente de los datos del servicio en línea para el contacto sin formato. Por ejemplo, si el usuario borra el Almacenamiento de Contactos de la configuración de Aplicaciones y se vuelve a sincronizar, los contactos sin formato restaurados deberían tener los mismos ID de origen que antes. Si no aplica esto, los accesos directos dejarán de funcionar.

Aquí es el documento oficial: Contacts Provider

Cuestiones relacionadas