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

Android 如何向现有联系人添加新联系人号码?,android,Android,我有以下代码来更新联系人号码,但问题是,它只替换了现有的联系人号码 我想添加一个新号码并保留联系人中已经存在的号码,如果它有两个联系人号码,我想能够添加第三个号码,即使它在联系人中已经有一个手机号码,我想能够添加一个新号码 我在stackoverflow中尝试了很多代码,但找不到任何代码 从我一直在搜索的内容来看,当你向现有联系人添加一个新号码时,你实际上创建了一个新联系人并与同一个联系人id关联。但我无法做到这一点 public static void updateContactNumber

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

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

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

从我一直在搜索的内容来看,当你向现有联系人添加一个新号码时,你实际上创建了一个新联系人并与同一个联系人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();
            }
        }
public static void updateContactNumber(String contactId、String newNumber、Activity act)
{
ArrayList ops=新的ArrayList();
字符串选择Phone=Data.CONTACT_ID+“=”和“+Data.MIMETYPE+”=”+
Phone.CONTENT_ITEM_TYPE+“+”“+”和“+Phone.TYPE+”=?”;
String[]phoneArgs=新字符串[]{contactId,String.valueOf(Phone.TYPE_WORK)};
添加(ContentProviderOperation.newUpdate(Data.CONTENT\u URI)
.通过选择(选择Phone,phoneArgs)
.withValue(电话号码,“441111”)
.build());
试一试{
act.getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
}捕获(远程异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(操作应用程序异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}

你好,格雷戈,我也遇到了同样的问题。因此,如果您有任何解决方案,请帮助我。谢天谢地的意图?有什么帮助吗?