Android讀取聯(lián)系人數(shù)據(jù)庫(kù)

聯(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_idraw_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
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容