public static Contact getContactByEmailId(Context context, String emailId) {
Contact contact = new Contact();
String contactNumber = emailId;
String contactId = null;
String displayName = "";
Cursor cursor = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI,
new String[]{ContactsContract.CommonDataKinds.Email.CONTACT_ID, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER},
ContactsContract.CommonDataKinds.Email.DATA + "=?",
new String[]{emailId}, null);
try {
while (cursor.moveToNext()) {
contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.CONTACT_ID));
contactNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
}
} finally {
if (cursor != null) {
cursor.close();
}
}
if (contactId != null) {
contactNumber = getContactNumberByContactId(context, contactId);
contact.setContactId(Long.parseLong(contactId));
}
contact.processFullName(displayName);
contact.setContactNumber(contactNumber);
return contact;
}