2012-08-01 27 views
5

我想創建一個包含給定名稱,姓氏和電話號碼的光標。這些列並不位於ContactsContract下的任何可用容器中,我能夠獲得此信息的唯一方法是首先獲取名稱的光標,然後通過爲每個聯繫人創建單獨的光標獲取電話號碼。這種解決方案迫使我將數據讀取到本地數據結構,而不是僅僅使用光標上的適配器,並強加大量的性能開銷(大約~5s,約140個電話號碼的聯繫人)。獲取帶有全名詳細信息和電話號碼的單光標

有什麼辦法來創建兩個遊標,然後加入表?或者還有其他方法嗎? 過去兩天我一直在爲這個問題苦苦掙扎,並且閱讀了我在谷歌上發現的所有內容,但是實際上我也無法得到任何可以工作的內容。這不可能真的是不可能的,或者它?

在此先感謝!

回答

0

您可以從ContactsContract.CommonDataKinds.Phone獲得DISPLAY_NAMENUMBER。試試這個:

Uri uri = Phone.CONTENT_URI; 
String[] projection = new String[] 
       {Phone.DISPLAY_NAME, Phone.NUMBER, Phone.CONTACT_ID, Phone._ID} 
Cursor contactsCursor = getContentResolver().query(uri, projection, null, null, null); 
相關問題