【发布时间】:2012-10-07 11:32:15
【问题描述】:
我成功地更新了联系人中的现有注释,使用 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
此方法不适用于添加新的 NOTE.. 如何在 ANDROID 中使用现有的 CONTACT 添加新的 NOTE?
【问题讨论】:
-
你必须插入 note 元素,而不是更新它
标签: android
我成功地更新了联系人中的现有注释,使用 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
此方法不适用于添加新的 NOTE.. 如何在 ANDROID 中使用现有的 CONTACT 添加新的 NOTE?
【问题讨论】:
标签: android
public void testInsert()
{
ContentValues values = new ContentValues();
// insert a empty note into RawContacts.CONTENT_URI, and get the rawContactId
Uri rawContactUri = this.getContext().getContentResolver().insert(RawContacts.CONTENT_URI, values);
// get id
long rawContactId = ContentUris.parseId(rawContactUri);
// insert name data
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId); // id
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);// MIMETYPE
values.put(StructuredName.GIVEN_NAME, "zetsin");// first name
this.getContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// insert phone
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, "123456");
values.put(Phone.TYPE, Phone.TYPE_MOBILE);
this.getContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
// insert email
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
values.put(Email.DATA, "zetsin@gmail.com");
values.put(Email.TYPE, Email.TYPE_WORK);
this.getContext().getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
}
【讨论】: