/**
* 获取联系人工具类
* @author hq * */ public class ContactUtil { /** * 说明 这个方法是干嘛用的 * @param ctx 上下文 * @return 集合 */ public static List<ContactInfo> getContacts(Context ctx) { List<ContactInfo> list = new ArrayList<ContactInfo>(); ContentResolver contentResolver = ctx.getContentResolver(); Cursor cursor = contentResolver.query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null); while (cursor.moveToNext()) { ContactInfo info = new ContactInfo(); int idColumn = cursor.getColumnIndex(ContactsContract.Contacts._ID); int displayNameColumn = cursor .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); // 获得联系人的ID String contactId = cursor.getString(idColumn); // 获得联系人姓名 String displayName = cursor.getString(displayNameColumn); String phoneNumber=null; String emailAddress = null; // 查看联系人有多少个号码,如果没有号码,返回0 int phoneCount = cursor .getInt(cursor .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); if (phoneCount > 0) { // 获得联系人的电话号码列表 Cursor phoneCursor = contentResolver.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null); if (phoneCursor.moveToFirst()) { // 遍历所有的联系人下面所有的电话号码 phoneNumber = phoneCursor .getString(phoneCursor .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); } phoneCursor.close(); }
//查询联系人所有邮箱地址
Cursor emailsCursor = contentResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null); if(emailsCursor.moveToFirst()){ emailAddress = emailsCursor .getString(emailsCursor .getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA)); } emailsCursor.close(); //System.out.println("ID:" + contactId); //System.out.println("NAME:" + displayName); //System.out.println("NUMBER:" + phoneNumber); //System.out.println("EMAIL:" + emailAddress); info.setId(contactId); info.setName(displayName); info.setPhone(phoneNumber); info.setEmail(emailAddress); list.add(info); } cursor.close(); return list; }}
业务bean
package com.example.contactsutils.bean; public class ContactInfo { /** * 联系人姓名 */ private String name; /** * 联系人id */ private String id; /** * 联系人电话 */ private String phone; /** * 联系人邮箱 */ private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "ContactInfo [name=" + name + ", id=" + id + ", phone=" + phone + ", email=" + email + "]"; } }