更新联系人语音名称-android API第19级(4.4.3)
我正在尝试为特定联系人添加拼音名称 我正在做以下工作:更新联系人语音名称-android API第19级(4.4.3),android,android-contacts,Android,Android Contacts,我正在尝试为特定联系人添加拼音名称 我正在做以下工作: ArrayList<android.content.ContentProviderOperation> ops = new ArrayList<android.content.ContentProviderOperation>(); ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI)
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);
ArrayList ops=new ArrayList();
添加(ContentProviderOperation.newUpdate(Data.CONTENT\u URI)
.withSelection(数据._ID+“=?”,新字符串[]{String.valueOf(ContactId)})
.withValue(CommonDataTypes.StructuredName.拼音给定名称“MOI”)
.build());
getContentResolver().applyBatch(contacts contract.AUTHORITY,ops);
但是,尽管我没有收到任何错误-联系人没有更新
有什么想法吗?好的,所以如果权限设置正确并且更新其他内容有效,我认为问题在于选择中的ID错误(联系人与原始联系人与数据) 尝试:
选择(Data.RAW\u CONTACT\u ID+“=?”,新字符串[]{String.valueOf(RawContactId)})
愚蠢的问题,但只是为了排除:权限?我拥有所有权限。为什么这么傻?您是否尝试通过ContactId进行查询并查看是否得到了有效的光标Cursor c=getContentResolver().query(Data.CONTENT\u URI,新字符串[]{Data.\u ID,Phone.NUMBER,Phone.TYPE,Phone.LABEL},Data.CONTACT\u ID+“=?”+”和“+Data.MIMETYPE+”=“+Phone.CONTENT\u ITEM\u TYPE+”,新字符串[]{String.valueOf(contactId)},null)代码>顺便说一下,我的意思是我关于权限的问题很愚蠢,但我想没有问题是愚蠢的:)我可以添加邮件和电话,但不能添加昵称和拼音名称