任何人都知道我如何更新同一类型的Android电话簿中的两封电子邮件
(例如:TYPE_HOME
),但使用不同的字符串更新每封邮件。
以我的方式更新电子邮件,但具有相同TYPE的电子邮件同时使用相同的字符串更新,我不希望这样。
我想要什么
Email_1->TYPE_HOME->String_Hello
Email_2->TYPE_HOME->String_Hello_again
不同的字符串但类型相同。
这是我的代码
EditText etEmail = (EditText)contentEmail.findViewWithTag("ete1");
String stEtEmail = etEmail.getText().toString();
values.clear();
Log.w(SocioEdit.class.getName(), "TESTE DO TYPE" +String.valueOf(ContactsContract.CommonDataKinds.Email.TYPE).charAt(3));
String mailWhere = ContactsContract.Data.CONTACT_ID + "=? AND " + ContactsContract.Data.MIMETYPE + "=? AND " + String.valueOf(ContactsContract.CommonDataKinds.Email.TYPE) + "= ?";
String[] mailWhereParams = new String[]{String.valueOf(idContacto),ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE,String.valueOf(ContactsContract.CommonDataKinds.Email.TYPE_HOME)};
values.put(ContactsContract.CommonDataKinds.Email.DATA,stEtEmail);
Log.w(SocioEdit.class.getName(),"TESTE DA STRING DO EMAIL-->" +stEtEmail);
cr.update(ContactsContract.Data.CONTENT_URI,values, mailWhere, mailWhereParams);
}
答案 0 :(得分:0)
我们知道电子邮件已存储在数据表中, 所以它有自己的ID,我们可以获取数据ID以及电子邮件类型和电子邮件信息
所以如果我们在数据表中收到电子邮件ID
我们可以这样做:
cr.update(ContactsContract.Data.CONTENT_URI,values, Data.id+"=?", new String[]{String.valueOf(ID)});