정말 오랜시간을 삽질했으나 역시 나 실패했습니다.
질문도 올렸는데 답변밖에 기대할수 없어 다시 질문드립니다.

연락처 선택화면을 띄우고
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
        startActivityForResult(contactPickerIntent, 1);

ID를 받아왔습니다.
    @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
     if((requestCode == 1) && (resultCode == RESULT_OK))
     {
      Uri contactData = data.getData();
      
      //ContactsContract.Data.
      Cursor c =  managedQuery(RawContacts.CONTENT_URI, new String[] {RawContacts._ID, RawContacts.CONTACT_ID, RawContacts.ACCOUNT_NAME}, RawContacts.CONTACT_ID + " = " + contactData.getLastPathSegment(), null, null);
      
      if(c.moveToFirst())
      {
       existContactRawID = c.getLong(1);
       existPhoneUri = contactData;
       updateContactEntry();
      }
     }
    }

이름을 업데이트 합니다. 문제는 이름은 바뀌는데 나머지 데이터가 날라가 버립니다. ㅠㅠ.
values.clear();
         //values.put(ContactsContract.Data.RAW_CONTACT_ID, existContactRawID);
         values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
         values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name);
                 this.getContentResolver().update(ContactsContract.Data.CONTENT_URI, values, ContactsContract.Data.CONTACT_ID+"="+existContactRawID,
           null);