如何在Android上向群组添加联系人?
我读到 ,但我不知道要插入到哪个URI 我准备了这个方法:如何在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.
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,但是单独的原始联系人。