I am having a contacts name with me and want his number .How to get contact number of corresponding name in Android ?
The following code will log out to logcat all the mobile numbers for a contact with a display name of contactName:
Cursor cursor = null;
try {
cursor = getContentResolver().query(Data.CONTENT_URI,
new String [] { Data.RAW_CONTACT_ID },
StructuredName.DISPLAY_NAME + "=? AND "
+ Data.MIMETYPE + "='" + StructuredName.CONTENT_ITEM_TYPE + "'",
new String[] { contactName}, null);
if (cursor != null && cursor.moveToFirst()) {
do {
String rawContactId = cursor.getString(0);
Cursor phoneCursor = null;
try {
phoneCursor = getContentResolver().query(Data.CONTENT_URI,
new String[] {Data._ID, Phone.NUMBER},
Data.RAW_CONTACT_ID + "=?" + " AND "
+ Phone.TYPE + "=" + Phone.TYPE_MOBILE + " AND "
+ Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'",
new String[] {rawContactId}, null);
if (phoneCursor != null && phoneCursor.moveToFirst()) {
String number = phoneCursor.getString(phoneCursor.getColumnIndex(Phone.NUMBER));
Log.d(TAG, "Mobile Number: " + number);
}
} finally {
if (phoneCursor != null) {
phoneCursor.close();
}
}
} while (cursor.moveToNext());
}
} finally {
if (cursor != null) {
cursor.close();
}
}