当前位置:  开发笔记 > Android > 正文

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

如何解决《如何在Android上为群组添加联系人?》经验,为你挑选了1个好方法。

我读到了 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吗?



1> Pentium10..:

我找到了决议,我在这里发布:

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.


这是因为contact_id是一个由1个以上原始联系人组成的"虚拟联系人" - 例如,您的Facebook帐户中的联系人与您的Twitter帐户中的一个联系人合并了您的Twitter帐户中的一个...他们都将映射到相同的联系人ID,但要分开原始联系人.
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有