2012-09-21 13 views
8

Ich bin auf Android 2.3.3, API Level 10. Ich möchte alle Kontakte und Daten zu ihnen, damit z. alle E-Mail-Adressen, Telefonnummern, benutzerdefinierte Felder ... Ich habe versucht, es wie folgt aus:Alle Kontaktdaten lesen

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(); 

jedoch nur die folgenden Felder mich ergibt dies:

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 

Wo sind die Telefonnummern, E-Mail-Adressen ...? Danke für einen Hinweis!

Antwort

8

Siehe Kontakt Contract API Beispiele

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 
     } 
     } 
} 
} 

bei diesem Beispiel Werfen Sie einen Blick

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

+0

Vielen Dank, der Link zum Beispiel Google Code und die verlinkte Tutorial von dort (http://app-solut.com/blog/2011/03/working-with-the-contactscontract-to-query-contacts-in-android/) war wirklich nützlich :-) –

+0

Und wie kann ich seine Adresse und andere Felder lesen – Nepster