我試圖讓所有擁有電子郵件,電話或兩者聯繫人列表聯繫人。 爲此我使用ContentResolver
與URI設置爲ContactsContract.Data.CONTENT_URI
,我選擇這些條件:獲取具有電子郵件或電話號碼具有獨特的效果
String SELECTION = ContactsContract.Data.DISPLAY_NAME_PRIMARY + "<>'' AND " + ContactsContract.Data.IN_VISIBLE_GROUP + "=1" + " AND (" + ContactsContract.Data.MIMETYPE + "=? OR " + ContactsContract.Data.MIMETYPE + "=?)";
String[] SELECTION_ARGS = new String[]{ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE};
我感興趣的只是這種接觸的名稱。但是因爲數據表將每個給定聯繫人的信息保存在單獨的行中,所以得到的光標在其中具有重複的條目。
有什麼辦法那些如何DISTINCT項?我正在使用CursorLoaderManager
和CursorAdapter
(也許唯一的方法是在加載器結束時將它們過濾出來?)。
你見過[這](http://stackoverflow.com/questions/2315203/android-distinct-and-groupby-in-contentresolver),這是一個有點老,但可能會有所幫助。 –
我已經試過了所有可惜沒有那些「黑客」,幫助因被固定在最新的Android版本或不接觸的內容提供商合作:/ – bakua