更新联系人的拼音名称 - android API级别19(4.4.3)

问题描述:

我正在尝试将语音名称添加到特定联系人。更新联系人的拼音名称 - android 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查询并看到您获得有效的光标? 'Cursor c = getContentResolver()。查询(Data.CONTENT_URI, new String [] {Data._ID,Phone.NUMBER,Phone.TYPE,Phone.LABEL}, Data.CONTACT_ID +“=?”+“AND” + Data.MIMETYPE +“='”+ Phone.CONTENT_ITEM_TYPE +“'”, new String [] {String.valueOf(contactId)},null);' – snowdragon

好的,所以如果权限设置正确,更新其他东西的作品,我认为这个问题在选择(联系与raw_contact与数据)是错误的ID。

尝试:

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