2012-11-06 131 views
0

我有以下代碼:如何使用原始聯繫人ID獲取(聯繫)組ID?

//get group ID's 
    // note: a contact can belong to multiple groups 
    final String where = ContactsContract.Data.RAW_CONTACT_ID + "=" + contactID 
    + " AND " 
    + ContactsContract.Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE + "'"; 

    final String[] projectionGroups = new String[] { ContactsContract.Data.DATA1 };//DATA1 is GroupID 

    Cursor curGroup = getContentResolver().query(
      ContactsContract.Data.CONTENT_URI, 
      projectionGroups, 
      where, 
      null, 
      null); 

    if (curGroup != null) 
    { 
     Log.i(TAG, "group count "+curGroup.getCount()); 
    } 

然而,它總是返回0

計數有什麼錯查詢?我正在使用我的手機上運行Android 2.3.5

回答

0

我沒有看到任何明顯錯誤的東西。但是,我不相信contactID包含可以在DATA表中找到的值。另外,您確定您的聯繫人已啓用羣組嗎?

+0

我相信問題的根源在於我首先獲得「原始聯繫人ID」的方式。目前我正在使用'ContactsContract.Contacts._ID'。我認爲這可能是錯誤的。 –

+0

我需要的是一種聯繫羣組和聯繫人的方式,以便我可以查詢聯繫人所屬的羣組。 –

相關問題