Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上向群组添加联系人?_Android_Android Sdk 2.1 - Fatal编程技术网

如何在Android上向群组添加联系人?

如何在Android上向群组添加联系人?,android,android-sdk-2.1,Android,Android Sdk 2.1,我读到 ,但我不知道要插入到哪个URI 我准备了这个方法: public static Uri addToGroup(ContentResolver resolver, long personId, long groupId) { ContentValues values = new ContentValues(); values.put(ContactsContract.CommonDataKinds.GroupMembership.

我读到 ,但我不知道要插入到哪个URI

我准备了这个方法:

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

    }

有人能告诉我在SDK 2.0+中使用什么URI吗?

我找到了解决方案,并将其发布在这里:

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);

}

但是我没有得到什么,为什么我必须使用原始联系人ID而不是联系人ID,后者会引发nullpointerexception。

我找到了解决方案,并将其发布在这里:

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);

}

但是我没有得到什么,为什么我必须使用原始联系人ID而不是联系人ID,后者会引发nullpointerexception。

嗨,pentium,可能是:Contacts.CONTENT\u GROUP\u URI?实际上,这是我在sdk 2.0中需要的sdk 1.6,在2.0+中,它仍然作为Contacts contract.Contacts.CONTENT\u URI\u组存在,正如您在这里看到的:而且它似乎没有被弃用或其他任何东西。。。也许我不明白你的问题…不止这些。检查答案。ok lol。更复杂的是…嗨,pentium,也许是:Contacts.CONTENT_GROUP_URI?这是sdk 2.0中我需要的sdk 1.6。实际上,它在2.0+中仍然作为Contacts Contacts.Contacts.CONTENT_URI_GROUP存在,正如您在这里看到的:它似乎没有被弃用或其他任何东西。。。也许我不明白你的问题…不止这些。检查答案。ok lol。更复杂的是…因为联系人id是由1+个原始联系人组成的虚拟联系人-例如,facebook帐户中的联系人与google联系人列表中的联系人合并,twitter帐户中的联系人合并。。。他们都会映射到同一个联系人ID,但是单独的原始联系人。这是因为联系人ID是由1+个原始联系人组成的虚拟联系人-例如,您facebook帐户中的联系人与您google联系人列表中的联系人合并,与您twitter帐户中的联系人合并。。。它们都映射到同一个联系人ID,但是单独的原始联系人。