I just created that function, to get the contact id from the email.
public static String getContactByEmail(Context context, String email) {
if (email == null) return null;
Uri CONTACTS_URI = ContactsContract.CommonDataKinds.Email.CONTENT_URI;
String[] PROJECTION = new String[]{
ContactsContract.CommonDataKinds.Email.RAW_CONTACT_ID,
ContactsContract.Data.DATA1
};
final String SELECTION = ContactsContract.CommonDataKinds.Email.ADDRESS + " = ?";
String[] SELECTION_ARG = new String[]{email};
Cursor c = context.getContentResolver().query(CONTACTS_URI, null, SELECTION, SELECTION_ARG, null);
String contactID = null;
if (c != null && c.moveToFirst()) {
contactID = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Email.RAW_CONTACT_ID));
c.close();
return contactID;
} else return null;
}
Your use
String idContact = getContactByEmail(this,"[email protected]");