2016-07-19 16 views
1

連絡先リスト内の既存の連絡先にプログラムで電話番号を追加するにはどうすればよいですか?私は連絡先を追加または削除する方法を知っていますが、私は連絡先の1つに電話番号を追加することはできません...だから、私を助けてください。既存の連絡先に電話番号を追加

+0

delta.getAsString(Phone.NUMBER)delta.getAsString(Email.ADDRESS)を置き換えることができますあなたはテストしましたか? – pedrofb

答えて

0

ここは例です。

try { 
    ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
    ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) 
     .withSelection(ContactsContract.CommonDataKinds.Phone._ID + "=? AND " + 
     Data.MIMETYPE + "='" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "'", 
     new String[]{contact_id}) 
     .withValue(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, "anything") 
     .build()); 

    ContentProviderResult[] result = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
} catch (Exception e) { 
} 
1
ArrayList<ContentProviderOperation> ops = new ArrayList<>(); 
//... 
//add Phone to existiong Contact 
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
    .withValue(ContactsContract.Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE) 
    .withValue(ContactsContract.Data.RAW_CONTACT_ID, rawContactId) 
    .withValue(Phone.NUMBER, delta.getAsString(Phone.NUMBER)) 
    .withValue(Phone.TYPE, delta.getAsString(Phone.TYPE)).build()); 
//... 
//add Email to existiong Contact 
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
    .withValue(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE) 
    .withValue(ContactsContract.Data.RAW_CONTACT_ID, rawContactId) 
    .withValue(Email.ADDRESS, delta.getAsString(Email.ADDRESS)) 
    .withValue(Email.TYPE, delta.getAsString(Email.TYPE)).build()); 
//... 
try { 
    mContext.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
    Log.d(TAG, "update success"); 
} catch (Exception e) { 
    Log.d(TAG, "update failed"); 
    e.printStackTrace(); 
} 

rawContactIdあなたはこの

deltaRawContactDeltaで取得するContacts.CONTENT_URIで問い合わせることができandroid.provider.ContactsContract.RawContacts._ID

で、あなたが持っているどのようなコードの任意の文字列値

関連する問題