【问题标题】:how many contacts in contact list联系人列表中有多少联系人
【发布时间】:2011-05-16 11:21:12
【问题描述】:

如何知道联系人列表中有多少联系人?我得到了联系号码,但一个人可以有多个联系人,我想在查找联系人列表中的联系人总数时考虑到这一点。

【问题讨论】:

    标签: android contacts android-contacts


    【解决方案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

    希望这能解决您的疑问!

    【讨论】:

    • 很抱歉,但它不起作用。它也给了我哪个剂量有联系号码,只有电子邮件 ID。那么我们可以知道存储在联系人列表中的电话号码总数吗?
    • 是的,此代码将返回所有联系人。我无法获得确切的要求。我已经回答了以下问题“我如何知道联系人列表中有多少联系人?”您需要查找所有联系人的电话号码总数吗?在这种情况下,我正在编辑我的答案。
    【解决方案2】:

    一个非常老的线程,但如果你想用电话号码计算联系人,你可以使用这个:

    Cursor cursor =  managedQuery(ContactsContract.Contacts.CONTENT_URI, null, ContactsContract.Contacts.HAS_PHONE_NUMBER, null, null);
    int count = cursor.getCount();
    

    当然 managedQuery 现在已被弃用,但这可以帮助绑定:)

    【讨论】:

      【解决方案3】:

      我们知道 managedQuery 现在已被弃用,我们可以像这样执行此任务

      ContentResolver contentResolver = getContentResolver();
                  Cursor cursor = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC");
                  int contactNewCount = cursor.getCount();
                  cursor.close();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多