How can I tell how many contacts there are in the contact list? I got the contact number, but one person can have more than one contact and I want to account for this in finding the total number of contacts in the contact list.
To find the count of phone numbers of all the contacts
Cursor cursor = managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
int count = cursor.getCount();
To find the count of all the phone numbers of a particular RawContactID (pass the contact id value in rawContactId).
Cursor cursor = managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID + " = " + rawContactId, null, null);
int count = cursor.getCount();
The number of contacts displayed in the ContactsListActivity consists can be determined by following query.
Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
int count = cursor.getCount();
However if a person has been entered under multiple accounts then only a single instance is obtained by the above query as ContactsContract.Contacts combines all such contacts.
Cursor cursor = managedQuery(RawContacts.CONTENT_URI, null, null, null, null);
int count = cursor.getCount();
The relation between ContactsContract.Contacts and RawContacts can be found out at http://developer.android.com/resources/articles/contacts.html
Hope this resolves your doubt!