更新联系电子邮件地址

时间:2011-03-02 20:37:24

标签: android

我可以使用以下声明更新Google联系人(主页)电子邮件:

    String select = ContactsContract.Data.CONTACT_ID + "=? AND " + ContactsContract.Data.MIMETYPE + "='"  +
    ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE + "'" + " AND " + ContactsContract.CommonDataKinds.Email.TYPE + "=?";     
    String[] args = new String[]{m_sID, String.valueOf(ContactsContract.CommonDataKinds.Email.TYPE_HOME)};      
    m_ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)             
            .withSelection(select, args)             
            .withValue(ContactsContract.CommonDataKinds.Email.DATA, "xxxxx@xxxx.com")             
            .build());      

但是如何更新电话簿联系不同的电子邮件地址?

由于

2 个答案:

答案 0 :(得分:2)

使用TYPE_WORK,TYPE_OTHER或TYPE_MOBILE而不是TYPE_HOME,具体取决于您要更新的内容。 你也可以使用TYPE_CUSTOM,但是你应该添加

+ " AND " + ContactsContract.CommonDataKinds.Email.LABEL + "=?"

选择你想要的args标签。

答案 1 :(得分:0)

您应用的唯一电子邮件过滤器条件适用于类型为HOME的电子邮件。需要删除的 ContactsContract.CommonDataKinds.Email.TYPE_HOME 即不要应用过滤器 “AND”+ ContactsContract.CommonDataKinds.Email.TYPE +“=?”