private void getPhoneContacts() {
ContentResolver resolver = mContext.getContentResolver();
// 獲取手機聯系人
Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,PHONES_PROJECTION, null, null, null);
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
//得到手機號碼
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
//當手機號碼為空的或者為空字段 跳過當前循環
if (TextUtils.isEmpty(phoneNumber))
continue;
//得到聯系人名稱
String contactName = phoneCursor.getString(PHONES_DISPLAY_NAME_INDEX);
//得到聯系人ID
Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);
//得到聯系人頭像ID
Long photoid = phoneCursor.getLong(PHONES_PHOTO_ID_INDEX);
//得到聯系人頭像Bitamp
Bitmap contactPhoto = null;
//photoid 大於0 表示聯系人有頭像 如果沒有給此人設置頭像則給他壹個默認的
if(photoid > 0 ) {
Uri uri =ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI,contactid);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(resolver, uri);
contactPhoto = BitmapFactory.decodeStream(input);
}else {
contactPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.contact_photo);
}
mContactsName.add(contactName);
mContactsNumber.add(phoneNumber);
mContactsPhonto.add(contactPhoto);
}
phoneCursor.close();
}
}