我想让所有联系人都有电子邮件ID。 每个唯一电子邮件的行。
现在我有以下实施方案,但它会为每个帐户提供电子邮件,因此会有重复的电子邮件联系人行。
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
final String[] PROJECTION = {
ContactsContract.CommonDataKinds.Email._ID,
ContactsContract.CommonDataKinds.Email.DISPLAY_NAME_PRIMARY,
ContactsContract.CommonDataKinds.Email.ADDRESS
};
return new CursorLoader(
this,
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
ContactCursorAdapter.PROJECTION,
null,
null,
null
);
}
答案 0 :(得分:0)
_ID对于数据表中的每个电子邮件项都是唯一的。 应该在投影中使用CommonDataKinds.Email.CONTACT_ID,这将有助于获得独特的联系。
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
final String[] PROJECTION = {
ContactsContract.CommonDataKinds.Email.CONTACT_ID,
ContactsContract.CommonDataKinds.Email.DISPLAY_NAME_PRIMARY,
ContactsContract.CommonDataKinds.Email.ADDRESS
};
return new CursorLoader(
this,
ContactsContract.CommonDataKinds.Email.CONTENT_URI,
PROJECTION,
null,
null,
null
);
}