Tôi đang cố gắng nhận các id email sử dụng danh bạ. Cho rằng tôi đang sử dụng Cursor Loader. Có một vấn đề tôi đang nhận được id email trùng lặp cũng có. Cách xóa trùng lặp email. Tôi có nên sử dụng truy vấn thô "SELECT DISTINCT" thay vì sử dụng CursorLoader hoặc có một số giải pháp khác không?Sử dụng CursorLoader để nhận email làm sao chép email
@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);
}
Cảm ơn mars, tôi đã sử dụng phương pháp tiếp cận này. Đã tìm kiếm một số giải pháp khác mà tôi sẽ không phải sử dụng bộ nhớ. –
Tôi đã làm một cái gì đó tương tự nhưng được sử dụng Con trỏ thay vì Danh sách. – zeeshan