【问题标题】:Total number of contacts - android联系人总数 - 安卓
【发布时间】:2012-05-10 08:10:22
【问题描述】:

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

【问题讨论】:

标签: android


【解决方案1】:

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

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

int count = cursor.getCount();

查找特定 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();

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

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

int count = cursor.getCount();

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

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

int count = cursor.getCount();

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

【讨论】:

  • 感谢您的回复!会试试看... :)
  • 是的,当然。请参阅developer.android.com/reference/android/… - 我想我们需要权限READ_CONTACTS
  • 您将需要此代码。 <uses-permission android:name="android.permission.READ_CONTACTS"/>
【解决方案2】:

对于联系人总数,请使用以下代码。

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

int count = cursor.getCount();

【讨论】:

    猜你喜欢
    • 2011-03-11
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 2014-06-18
    相关资源
    最近更新 更多