2012-09-21 38 views
8

Estoy en Android 2.3.3, API Nivel 10. Quiero leer todos los contactos y datos asociados, por lo tanto, p. todas las direcciones de correo electrónico, números de teléfono, campos personalizados ... me trataron así:Lectura de todos los datos de contacto

Uri contactUri = ContactsContract.Contacts.CONTENT_URI; 
Cursor contacts = managedQuery(contactUri, null, null, null, null); 

contacts.moveToFirst(); 

do { 
    for(int i=0;i<contacts.getColumnCount();i++) 
    { 
     System.out.println(contacts.getColumnName(i) + ": " + contacts.getString(i)); 
    } 

    System.out.println("============\n\n"); 

} while (contacts.moveToNext()); 

contacts.close(); 

Sin embargo, esto me da únicamente los siguientes campos:

times_contacted: 0 
contact_status: null 
custom_ringtone: null 
has_phone_number: 1 
phonetic_name: null 
phonetic_name_style: 0 
contact_status_label: null 
lookup: [removed] 
contact_status_icon: null 
last_time_contacted: 0 
display_name: [removed] 
sort_key_alt: [removed] 
in_visible_group: 1 
_id: 101 
starred: 0 
sort_key: [removed] 
display_name_alt: [removed] 
contact_presence: null 
display_name_source: 40 
contact_status_res_package: null 
contact_chat_capability: null 
contact_status_ts: null 
photo_id: null 
send_to_voicemail: 0 

¿Dónde están los números de teléfono, direcciones de correo electrónico ...? Gracias por cualquier pista!

Respuesta

8
Ejemplos de API

Ver Contacto Contrato

http://www.higherpass.com/Android/Tutorials/Working-With-Android-Contacts/

ContentResolver cr = getContentResolver(); 
    Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, 
      null, null, null, null); 
    if (cur.getCount() > 0) { 
    while (cur.moveToNext()) { 
     String id = cur.getString(
        cur.getColumnIndex(ContactsContract.Contacts._ID)); 
    String name = cur.getString(
        cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
    if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
     //Query phone here. Covered next 
     } 
     } 
} 
} 

Tome un vistazo a este ejemplo

http://code.google.com/p/android-contacts-contract-example/

+0

Gracias, el vínculo con el ejemplo de código Google y el tutorial vinculado desde allí (http://app-solut.com/blog/2011/03/working-with-the-contactscontract-to-query-contacts-in-android/) fue realmente útil :-) –

+0

Y cómo puedo leer su dirección y otros campos – Nepster

Cuestiones relacionadas