Использование CursorLoader для получения писем вызывает дублирование писем

Я пытаюсь получить адреса электронной почты использует контакты. Для этого я использую Cursor Loader. Есть одна проблема, я также получаю дубликаты идентификаторов электронной почты. Как удалить дубликаты электронной почты. Должен ли я использовать необработанный запрос «SELECT DISTINCT» вместо использования CursorLoader или есть какое-то другое решение?

@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
    String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Email.DATA};
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + "  COLLATE LOCALIZED ASC";
    String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP +"='1' AND " + Email.DATA +" IS NOT NULL AND " + Email.DATA +" != \"\" " ;

    //showing only visible contacts  
    String[] selectionArgs = null;
    return new CursorLoader(this, ContactsContract.CommonDataKinds.Email.CONTENT_URI, projection, selection, selectionArgs, sortOrder);
}

Ответы на вопрос(6)

Ваш ответ на вопрос