聯(lián)系人表詳解
contacts
// content://com.android.contacts/contacts
ContactsContract.Contacts.CONTENT_URI
附注:用戶的聯(lián)系人表,每個(gè)聯(lián)系人占一行,不包括用戶已經(jīng)刪除的記錄。
raw_contacts
// content://com.android.contacts/raw_contacts
ContactsContract.RawContacts.CONTENT_URI
附注:用戶的聯(lián)系人原始數(shù)據(jù)表,每個(gè)聯(lián)系人占一行,包含用戶已刪除的記錄。
data
// content://com.android.contacts/data
ContactsContract.Data.CONTENT_URI
附注:保存了聯(lián)系人的所有詳細(xì)信息,包括姓名、電話號(hào)碼、郵箱等,可以通過(guò)contact_id或raw_contact_id查詢。
查詢聯(lián)系人的詳細(xì)信息
// 查詢contacts表,獲取聯(lián)系人的id
ContentResolver resolver = context.getContentResolver();
Uri contactsUri = Uri.parse("content://com.android.contacts/contacts");
Cursor contactsCursor = resolver.query(contactsUri, null, null, null, null);
while (contactsCursor.moveToNext()) {
String contact_id = contactsCursor.getString(contactsCursor.getColumnIndex("_id"));
// 根據(jù) contact_id 查詢聯(lián)系人的詳細(xì)信息
Uri dataUri = Uri.parse("content://com.android.contacts/data");
Cursor dataCursor = resolver.query(dataUri, null, "contact_id=?", new String[]{contact_id}, null);
// 查詢當(dāng)前用戶(contact_id)的詳細(xì)信息
while (dataCursor.moveToNext()) {
String mimeType = dataCursor.getString(dataCursor.getColumnIndex("mimeType"));
String data1 = dataCursor.getString(dataCursor.getColumnIndex("data1"));
Log.i("Haoxueren", contact_id + ":" + data1 + ":" + mimeType);
// 用戶姓名:vnd.android.cursor.item/name
// 電話號(hào)碼:vnd.android.cursor.item/phone_v2 (電話號(hào)碼可能有多個(gè))
// 添加時(shí)間:vnd.android.cursor.item/added_time
}
}