0

사람은 내가 같은 TYPE으로 안드로이드의 전화 번호부에 두 개의 이메일을 업데이트 할 수 있습니다 방법을 알고업데이트 이메일은

(예 : 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

입니다 그래서 그것의 ID를 가지고 있으며, 우리는 이메일 유형 및 이메일 정보뿐만 아니라 데이터 ID를 얻을 수 있습니다

우리가 데이터 테이블에서 전자 메일 ID를 가져 그렇다면

우리는 이런 식으로 작업을 수행 할 수 있습니다

cr.update(ContactsContract.Data.CONTENT_URI,values, Data.id+"=?", new String[]{String.valueOf(ID)});