如何在android中获取联系人的组ID

时间:2012-04-17 06:42:55

标签: android android-contacts contactscontract

我想在我的android应用程序中获取每个联系人的组ID。我有这样的初始查询

Cursor cursor = cr.query(Phone.CONTENT_URI,
                new String[] { 
                Phone.CONTACT_ID}, null, null, null);

我所做的是获取每个与此CONTACT_ID相关的详细信息。到目前为止,我已设法获取电话号码,姓名,地址和电子邮件,但仍然无法获得联系人的组ID。

P.S我在here之前发现了一个问题,但是不推荐使用课程android.provider.Contacts.GroupMembership

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

final String selection = "mimetype_id = (select _id from mimetypes where mimetype = \"" + 
        vnd.android.cursor.item / group_membership + "\")";

Cursor cursor = getContentResolver().query(Data.CONTENT_URI,
        new String[]{Phone.CONTACT_ID}, selection, null, null);
try {
    if (cursor != null && cursor.moveToFirst()) {
        do {
            Log.i("Details", "Contact IDs" + cursor.getLong(cursor.getColumnIndex(Phone.CONTACT_ID)));
        } while (cursor.moveToNext());
    }
} finally {
    if (cursor != null) {
        cursor.close();
    }
}