如何向现有联系人添加新联系号码?

时间:2014-05-18 14:01:19

标签: android

我有以下代码来更新联系号码,但问题是,它只替换现有的

我想添加一个新号码并保留联系中已存在的号码,如果它有2个联系号码,我希望能够添加第三个号码,即使它已经在联系人中有MOBILE_NUMBER ,我希望能够添加一个新的。

我在stackoverflow中尝试了很多代码,但我找不到任何代码。

从我正在搜索的内容中,当您向现有联系人添加新号码时,实际上您创建了一个新联系人并关联到同一个contact_id。但我无法做到。

public static void updateContactNumber (String contactId, String newNumber, Activity act) 
       {

            ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
            String selectPhone = Data.CONTACT_ID + "=? AND " + Data.MIMETYPE + "='"  + 
                            Phone.CONTENT_ITEM_TYPE + "'" + " AND " + Phone.TYPE + "=?";
            String[] phoneArgs = new String[]{contactId, String.valueOf(Phone.TYPE_WORK)}; 


            ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
                    .withSelection(selectPhone, phoneArgs)
                    .withValue(Phone.NUMBER, "44441111")
                    .build()); 



            try {
                act.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
            } catch (RemoteException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (OperationApplicationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

0 个答案:

没有答案