我可以使用以下声明更新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());
但是如何更新电话簿联系不同的电子邮件地址?
由于
答案 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 +“=?”