![](/img/trans.png)
[英]How to get Email addrss and phone number from contact details in android application
[英]How to get contact name, phone number, email details using Loaders
我們可以使用此uri獲取聯系人姓名和電話號碼
ContactsContract.CommonDataKinds.Phone.CONTENT_URI
我們可以使用uri獲取電子郵件地址
ContactsContract.CommonDataKinds.Email.CONTENT_URI
但是,如何將這兩個uri傳遞給加載器並像代碼中那樣恢復Cursor加載器。 在此代碼中,我僅返回姓名和電話號碼,但如何獲取電子郵件以獲取通過
ContactsContract.CommonDataKinds.Email.CONTENT_URI
對此
return new CursorLoader(this,
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
projection,
null,
null,
null);
CommonDataKinds.Phone
和CommonDataKinds.Email
實際上都是大表ContactsContract.Data
,該表包含許多您可能不感興趣的其他信息,因此您可以使用Data.MIMETYPE
僅選擇您感興趣的項目(電話和電子郵件) Data.MIMETYPE
。
因此,CursorLoader初始化可以是這樣的:
new CursorLoader(this,
ContactsContract.Data.CONTENT_URI,
projection,
ContactsContract.Data.MIMETYPE + " IN (" + CommonDataKinds.Phone.CONTENT_TYPE + ", " + CommonDataKinds.Email.CONTENT_TYPE + ")",
null,
null);
但是,請注意,就像僅在CommonDataKinds.Phone.CONTENT_URI
上進行查詢時,每部電話就會獲得一個聯系人,而不是每個聯系人CommonDataKinds.Phone.CONTENT_URI
,您現在將在每部電話或電子郵件中獲得一行 ,而不會按聯系人進行匯總。
您應該將Data.MIMETYPE
添加到投影中,並使用它來確定當前行是電話行還是電子郵件行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.