2011-06-24 22 views
5

ATM me sale el número y la etiqueta de un contact_id dada conCómo detectar el número de teléfono predeterminado de un contacto (si está ajustado)

String where = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId; 
Cursor c = ctx.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, where, null, null); 
    while (c.moveToNext()) { 
    String number = Tools.getString(c, CommonDataKinds.Phone.NUMBER); 
    String label = Tools.getString(c,CommonDataKinds.Phone.LABEL); 
    } 

Android tiene la posibilidad de marcar un número dado como "número predeterminado" . ¿Cómo puedo averiguar si el número consultado es el número predeterminado?

Respuesta

7

Intente solicitar la columna IS_SUPER_PRIMARY en su consulta CONTENT_URI.

Si devuelve un valor distinto de cero, la entrada se puede interpretar como el valor de contacto predeterminado de este tipo (por ejemplo, el número de teléfono predeterminado que se utilizará para el contacto).

Más información: http://developer.android.com/reference/android/provider/ContactsContract.Data.html

+0

Muchas gracias. Busqué algo de tiempo para esto. Me pregunto por qué la documentación es tan imprecisa aquí. ¡Pero marcar un número como predeterminado cuando SUPER_PRIMARY> 0 parece funcionar bien! :-) – Flow

Cuestiones relacionadas