【问题标题】:How to add a new NOTE with an existing CONTACT in ANDROID如何在 ANDROID 中使用现有联系人添加新注释
【发布时间】:2012-10-07 11:32:15
【问题描述】:

我成功地更新了联系人中的现有注释,使用 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);

此方法不适用于添加新的 NOTE.. 如何在 ANDROID 中使用现有的 CONTACT 添加新的 NOTE?

【问题讨论】:

  • 你必须插入 note 元素,而不是更新它

标签: android


【解决方案1】:
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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多