2014-06-24 1 views
2

특정 연락처에 발음 이름을 추가하려고합니다.연락처 음운론 이름 업데이트 - 안드로이드 API 레벨 19 (4.4.3)

ArrayList<android.content.ContentProviderOperation> ops = new ArrayList<android.content.ContentProviderOperation>(); 
      ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) 
         .withSelection(Data._ID + "=?", new String[]{String.valueOf(ContactId)}) 
         .withValue(CommonDataKinds.StructuredName.PHONETIC_GIVEN_NAME, "mois") 
         .build()); 

      getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 

을하지만 오류를 얻을 수 없지만 - 접촉은 업데이트되지 않습니다

나는 다음을 수행하고있다.

아이디어가 있으십니까?

+0

어리석은 질문은, 그러나 다만 배제하기 : 권한을? – snowdragon

+0

모든 권한이 있습니다. 왜 바보 야? – MoShe

+0

ContactId를 통해 쿼리를 시도했는데 올바른 커서를 얻었습니까? Data.CONTACT_ID + "=?"+ "AND"(새로운 Data.CONTENT_URI, ) 새로운 String [] {Data._ID, Phone.NUMBER, Phone.TYPE, Phone.LABEL}, "Cursor c = getContentResolver() + Data.MIMETYPE + "=" "+ Phone.CONTENT_ITEM_TYPE +" ' ", 새 문자열 [] {String.valueOf (contactId)}, null),' – snowdragon

답변

1

권한이 올바르게 설정되고 다른 자료가 업데이트되는 경우 문제가 선택 항목 (연락처 대 raw_contact 대 데이터)이 잘못되었다고 생각합니다.

시도 :

withSelection(Data.RAW_CONTACT_ID + "=?", new String[]{String.valueOf(RawContactId)})