0

任何人都知道我如何用相同的 TYPE 更新 android 电话簿中的两封电子邮件

(例如:)TYPE_HOME,但用不同的字符串更新每封邮件。

以我的方式更新电子邮件,但具有相同类型的电子邮件同时使用相同的字符串更新,我不希望这样。

我想要的是

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);
     }
4

1 回答 1

0

我们知道 Email 有一个存储在 Data 表中,所以它有它的 id,我们可以得到数据 ID 以及电子邮件类型和电子邮件信息

所以如果我们在数据表中获得电子邮件 ID

我们可以这样做:

cr.update(ContactsContract.Data.CONTENT_URI,values, Data.id+"=?", new String[]{String.valueOf(ID)});
于 2012-08-17T05:49:53.850 回答