Просто небольшое изменение, если вам нужно обновить какой-либо другой телефон, кроме рабочего телефона, вы можете использовать метод, который имеет это в качестве параметра.
public void updateContact (String contactId, String newNumber, String phoneType)
throws RemoteException, OperationApplicationException{
//ASSERT: @contactId alreay has a work phone number
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, phoneType};
ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
.withSelection(selectPhone, phoneArgs)
.withValue(Phone.NUMBER, newNumber)
.build());
this.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
}