联系人总数 - android

use*_*350 2 android

我是android编程的新手,请原谅我这是一个简单的问题.如何从通讯录中获取联系人总数?

nnh*_*uan 10

查找所有联系人的电话号码数

Cursor cursor =  managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);

int count = cursor.getCount();
Run Code Online (Sandbox Code Playgroud)

查找特定RawContactID的所有电话号码的计数(在rawContactId中传递联系人ID值).

Cursor cursor =  managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID + " = " + rawContactId, null, null);

int count = cursor.getCount();
Run Code Online (Sandbox Code Playgroud)

ContactsListActivity中显示的联系人数可以通过以下查询来确定.

Cursor cursor =  managedQuery(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

int count = cursor.getCount();
Run Code Online (Sandbox Code Playgroud)

但是,如果在多个帐户下输入了一个人,则上述查询只能获得单个实例,因为ContactsContract.Contacts组合了所有此类联系人.

Cursor cursor =  managedQuery(RawContacts.CONTENT_URI, null, null, null, null);

int count = cursor.getCount();
Run Code Online (Sandbox Code Playgroud)

ContactsContract.Contacts和RawContacts之间的关系可以在http://developer.android.com/resources/articles/contacts.html找到.