public void ReadContacts() {
List<Contact> list = new ArrayList<>();
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
int contactIdIndex = 0;
int nameIndex = 0;
if (cursor.getCount() > 0) {
contactIdIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID);
nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
}
while (cursor.moveToNext()) {
String contactId = cursor.getString(contactIdIndex);
String name = cursor.getString(nameIndex);
/*
* 查找该联系人的phone信息
*/
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
null, null);
int phoneIndex = 0;
if (phones.getCount() > 0) {
phoneIndex = phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
}
String phoneNumber = "";
while (phones.moveToNext()) {
phoneNumber = phones.getString(phoneIndex);
}
/*
* 查找该联系人的email信息
*/
Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + "=" + contactId,
null, null);
int emailIndex = 0;
if (emails.getCount() > 0) {
emailIndex = emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
}
String email = "";
while (emails.moveToNext()) {
email = emails.getString(emailIndex);
}
String firstLetter = FirstLetterUtil.getFirstLetter(name);
String info;
if (TextUtils.isEmpty(email)) {
info = phoneNumber;
} else {
info = phoneNumber + "," + email;
}
Contact contact = new Contact(firstLetter, name, info);
list.add(contact);
}
contacts.addAll(list);
}
Android获取手机通讯录信息
最新推荐文章于 2024-07-05 10:24:35 发布