2011-04-14 46 views

回答

2

给你一些代码:

 ContentResolver cr = getContentResolver(); 
    Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
    while(cursor.moveToNext()){ 
    //get name 
    int nameFiledColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME); 
    String contact = cursor.getString(nameFiledColumnIndex); 

    String[] PHONES_PROJECTION = new String[] { "_id","display_name","data1","data3"};// 
    String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID)); 
    Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PHONES_PROJECTION, 
    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null); 
    //name type .. 
    while(phone.moveToNext()) { 
     int i = phone.getInt(0); 
     String str = phone.getString(1); 
     str = phone.getString(2); 
     str = phone.getString(3); 
     } 
     phone.close(); 
     //addr 
     Cursor addrCur = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI , 
    new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null); 
     while(addrCur.moveToNext()) { 
     int i = addrCur.getInt(0); 
     String str = addrCur.getString(1); 
     str = addrCur.getString(2); 
     str = addrCur.getString(3); 
     } 
     addrCur.close(); 

     //email 
     Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI , 
    new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null); 
     while(emailCur.moveToNext()) { 
     int i = emailCur.getInt(0); 
     String str = emailCur.getString(1); 
     str = emailCur.getString(2); 
     str = emailCur.getString(3); 
     } 
     emailCur.close(); 

    } 
    cursor.close(); 
3
  Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
      intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); 
      startActivityForResult(intent, 1); 

使用这段代码的button.setOnClick作用下,你会得到在电话簿中的所有联系人的显示

+0

这是什么意思的委托方法? – erdemgc 2013-12-03 20:38:35

1

你可以在button.setonclicklistener中使用此代码。

Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent,PICK_CONTACT);

相关问题