ContactsContract is the contract between a contacts provider and applications
that want to use contacts. The following code shows how to find a contact based on
name, and once it's found, how to retrieve the various types of phone numbers and
email addresses:
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.RawContacts;
String NAME = "Pritom Mondal";
Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI, null, "DISPLAY_NAME = '" + NAME + "'", null, null);
if (cursor.moveToFirst()) {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phones = managedQuery(Phone.CONTENT_URI, null, Phone.CONTACT_ID + " = " + contactId, null, null);
while (phones.moveToNext()) {
String number = phones.getString(phones.getColumnIndex(Phone.NUMBER));
int type = phones.getInt(phones.getColumnIndex(Phone.TYPE));
System.out.println("TYPE: "+type+" NUMBER: "+number);
}
phones.close();
Cursor emails = managedQuery(Email.CONTENT_URI, null, Email.CONTACT_ID + " = " + contactId, null, null);
while (emails.moveToNext()) {
String number = emails.getString(emails.getColumnIndex(Email.DATA));
int type = emails.getInt(emails.getColumnIndex(Phone.TYPE));
System.out.println("TYPE: "+type+" EMAIL: "+number);
}
emails.close();
}
cursor.close();
No comments:
Post a Comment