1

我正在製作一個通訊應用程序,該應用程序已使用AccountManager中的特定帳戶類型進行設置,並且已連接SyncAdapter。我的一些聯繫人有一個RawContact,它具有我的新帳戶的MIMETYPE和一些關聯的數據。檢索所有已連接特定帳戶的聯繫人

我正在尋找正確的方式來查詢手機聯繫人列表中的每個聯繫人的列表/光標,並且這些聯繫人列表中有一個這樣的新帳戶已連接到該聯繫人列表。我想獲得整個聯繫人,這樣我就可以執行諸如檢索電話號碼,顯示圖片名稱和uris等圖片,但我只需要添加了我的新類型帳戶的聯繫人。

我有一種感覺,我需要連接兩個表和一些投影或選擇參數,以獲得一個遊標對象中的所有這些數據。我只是不知道該怎麼做,雖然我已經嘗試了一堆不同的東西,即能夠獲得所有聯繫人,或者爲我的特定帳戶類型獲得所有行,但不能同時在一起。

感謝

回答

3

獲取Raw_Id「相匹配的帳戶類型和名稱的所有聯繫人的S:

getContentResolver().query(ContactsContract.RawContacts.CONTENT_URI, 
           new String[]{ContactsContract.RawContacts._ID, 
           }, 
           ContactsContract.RawContacts.ACCOUNT_NAME + " = ? AND " + 
           ContactsContract.RawContacts.ACCOUNT_TYPE + " = ? ", 
           new String[]{mAcccountName,mAccountType},null 
          ); 

對於每個_ID,從ContactsContract.Data獲取所有行,ContactsContract.RawContacts._ID比賽ContactsContract.Data.RAW_CONTACT_ID這裏。

這些行具有與該聯繫人的所有數據Raw_id

請參考the documentation瞭解ContactsContract.Data表的結構,以及它包含的數據。

+0

嗨.. SD我想要你的幫助... – ADT

+0

請參閱我的查詢... http://stackoverflow.com/questions/20215108/android-match-contact-from-contactlist/20217864?noredirect = 1# comment30178455_20217864 – ADT