String contactId ;
private List<PeopleInfo> getContactsInfo(){
List<PeopleInfo> list = new ArrayList<PeopleInfo>();
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
PeopleInfo peopleInfo ;
//向下移动光标
while(cursor.moveToNext())
{
//取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFieldColumnIndex);
peopleInfo = new PeopleInfo();
//取得电话号码
contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=" + contactId, null, null);
while(phone.moveToNext())
{
String PhoneNumber = phone.getString(phone.getColumnIndex(Phone.NUMBER));
phoneString += ( PhoneNumber + "\n");
peopleInfo.setPhone(phoneString);
}
phone.close();
//获取联系人email
Cursor emails = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId,
null, null);
while (emails.moveToNext()) {
String email = emails.getString(emails.getColumnIndex(Email.DATA));
Log.d("test", email + "| " );
contact = contact+ "\n" + email;
}
peopleInfo.setName(contact);
emails.close();
phoneString = "" ;
list.add(peopleInfo);
}
cursor.close();
return list ;
}
获得联系人信息2、
private void getContacts(){
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
PeopleInfo peopleInfo ;
//向下移动光标
while(cursor.moveToNext())
{
//取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFieldColumnIndex);
peopleInfo = new PeopleInfo();
peopleInfo.setName(contact);
//取得电话号码
String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
while(phone.moveToNext())
{
String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
phoneString += ( PhoneNumber + "\n");
peopleInfo.setPhone(phoneString);
}
phoneString = "" ;
list.add(peopleInfo);
}
cursor.close();
}
获得联系人 3 、
public List<PeopleInfo> getContact( ) {
List<PeopleInfo> list = new ArrayList<PeopleInfo>();
//得到ContentResolver对象
ContentResolver cr = getContentResolver();
// 获得所有的联系人
Cursor cur = cr.query(
ContactsContract.Contacts.CONTENT_URI, null, null , null, null);
// 循环遍历
if (cur!=null&&cur.moveToFirst()) {
int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);
int displayNameColumn = cur
.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
do {
PeopleInfo peopleInfo = new PeopleInfo();
// 获得联系人的ID号
String contactId = cur.getString(idColumn);
// 获得联系人姓名
String disPlayName = cur.getString(displayNameColumn);
peopleInfo.setName(disPlayName);
// 查看该联系人有多少个电话号码。如果没有这返回值为0
int phoneCount = cur.getInt(cur
.getColumnIndex(ContactsContract.Contacts._ID));
if (phoneCount > 0) {
// 获得联系人的电话号码
Cursor phones = cr.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId,
null, null);
if (phones!=null&&phones.moveToFirst()) {
do {
// 遍历所有的电话号码
String phoneNumber = phones.getString(phones
.getColumnIndex(String.valueOf(ContactsContract.CommonDataKinds.Phone.NUMBER)));
phoneString += ( phoneNumber + "\n");
peopleInfo.setPhone(phoneString);
} while (phones.moveToNext());
phoneString = "" ;
}
phones.close();
}
list.add(peopleInfo);
} while (cur.moveToNext());
cur.close();
}
return list;
}