联系人表详解
contacts
// content://com.android.contacts/contacts
ContactsContract.Contacts.CONTENT_URI
附注:用户的联系人表,每个联系人占一行,不包括用户已经删除的记录。
raw_contacts
// content://com.android.contacts/raw_contacts
ContactsContract.RawContacts.CONTENT_URI
附注:用户的联系人原始数据表,每个联系人占一行,包含用户已删除的记录。
data
// content://com.android.contacts/data
ContactsContract.Data.CONTENT_URI
附注:保存了联系人的所有详细信息,包括姓名、电话号码、邮箱等,可以通过contact_id
或raw_contact_id
查询。
查询联系人的详细信息
// 查询contacts表,获取联系人的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"));
// 根据 contact_id 查询联系人的详细信息
Uri dataUri = Uri.parse("content://com.android.contacts/data");
Cursor dataCursor = resolver.query(dataUri, null, "contact_id=?", new String[]{contact_id}, null);
// 查询当前用户(contact_id)的详细信息
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
// 电话号码:vnd.android.cursor.item/phone_v2 (电话号码可能有多个)
// 添加时间:vnd.android.cursor.item/added_time
}
}
网友评论