0

Androidの電話帳で同じTYPEの2つのメールを更新する方法を誰でも知っています

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

電子メールにはデータ テーブルに保存されていることがわかっているため、その ID があり、データ ID と電子メール タイプおよび電子メール情報を取得できます。

データテーブルで電子メールIDを取得した場合

次のようにできます。

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