我有一个ListView,我在其中获得所有电话联系人。在ListView中,我已经放了一个按钮,然后点击该按钮,应该在收藏夹中添加联系人,然后再次点击应该从收藏夹中删除。
在这里,我找到了添加新联系人收藏夹的代码。但是如何通过点击button.i尝试使用此代码:
代码:
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newUpdate(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME, null)
.withValue(RawContacts.STARRED, true).build());
ops.add(ContentProviderOperation
.newUpdate(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,
rawContactInsertIndex)
.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
.withValue(Phone.NUMBER, "91-0000000002").build());
ops.add(ContentProviderOperation
.newUpdate(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID,
rawContactInsertIndex)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, "Maulik patel").build());
使用此代码将所有联系人添加到收藏夹中 感谢
答案 0 :(得分:2)
在这里,我最喜欢的是最喜欢的具体联系方式。
ContentValues values = new ContentValues();
String[] fv = new String[] { "juned" };
values.put(Contacts.STARRED, 1);
getContentResolver().update(Contacts.CONTENT_URI, values,
Contacts.DISPLAY_NAME + "= ?", fv);
只需将1更改为0即可。
答案 1 :(得分:2)
我需要添加/删除带有特定联系人ID而非联系人姓名的收藏夹,因此我修改了juned的代码,这里是:
int contactId = 10; // some contact's ID
ContentValues values = new ContentValues();
values.put(ContactsContract.Contacts.STARRED, 1);
getActivity().getContentResolver().update(ContactsContract.Contacts.CONTENT_URI, values,
ContactsContract.Contacts._ID + "= ?", new String[] { String.valueOf(contactId) });
不同之处在于您只需将DISPLAY_NAME
更改为_ID
。