如何添加联系人到组在Android?人到、Android

2023-09-13 01:22:13 作者:南风知我意

我读到 ContactsContract.CommonDataKinds.GroupMembership ,但我想不出URI用什么插入到。

I read about ContactsContract.CommonDataKinds.GroupMembership, but I can't figure out what URI use to insert to.

我有prepared这个方法:

I have prepared this method:

public static Uri addToGroup(ContentResolver resolver, long personId,
            long groupId) {

        ContentValues values = new ContentValues();

        values.put(ContactsContract.CommonDataKinds.GroupMembership.CONTACT_ID, personId);

        values.put(ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID, groupId);

        return resolver.insert(uri, values);//URI is not known

    }

谁能告诉我URI在SDK 2.0中使用的+?

Can someone tell me what URI to use in SDK 2.0+?

推荐答案

我找到了解决,我这张贴在这里:

I found the resolution and I post it here:

public Uri addToGroup(long personId, long groupId) {

    //remove if exists
    this.removeFromGroup(personId, groupId);

    ContentValues values = new ContentValues();
    values.put(ContactsContract.CommonDataKinds.GroupMembership.RAW_CONTACT_ID,
            personId);
    values.put(
            ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID,
            groupId);
    values
            .put(
                    ContactsContract.CommonDataKinds.GroupMembership.MIMETYPE,
                    ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE);

    return this.ctx.getContentResolver().insert(
            ContactsContract.Data.CONTENT_URI, values);

}

但我不明白的东西,为什么我一定要使用 RAW_CONTACT_ID ,而不是 CONTACT_ID ,后来引发NullPointerException异常。

But I don't get something, why do I have to use RAW_CONTACT_ID and not CONTACT_ID, the later raises nullpointerexception.