【发布时间】:2016-10-13 09:57:23
【问题描述】:
我正在尝试编辑特定联系人的显示名称,但无论我做什么,显示名称都没有得到编辑。我查看了所有相关问题,但没有找到任何关于此问题的解决方案。
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=? AND " +
ContactsContract.CommonDataKinds.Phone.MIMETYPE + "='" +
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "' AND "+ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID +"=?",
new String[]{id,raw})
//.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "B "+name)
//.withValue(ContactsContract.CommonDataKinds.Phone.PHONETIC_NAME, "B "+name)
//.withValue(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY, "B "+name)
//.withValue(ContactsContract.Data.DISPLAY_NAME, "B "+name)
.withValue(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, "B "+name)
.build());
try {
ContentProviderResult[] result =HomeActivity.this.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
Log.e("Edit Result",result.toString());
} catch (RemoteException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
我已经尝试了所有用 cmets 编写的选项,但使用 ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME。它编辑联系人号码而不是联系人姓名。在过去的 3 天里,我正在尝试这样做,但没有成功。请告诉我我做错了什么或告诉我编辑联系人姓名的正确方法。
【问题讨论】:
标签: android android-contacts contact