Я пишу приложение для Android (Android 2.1).Я не мог понять, как обновить имя или фамилию контакта.Ниже приведен код, который у меня есть.Это не работает (программа умирает, когда я ее запускаю):
ContentProviderOperation.Builder builderName = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);
selectArgs1 = ContactsContract.Data.CONTACT_ID + "=?" + StructuredName.CONTENT_ITEM_TYPE + " = ?";
selectArg2 = new String[]{id, ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME};
builderName.withSelection(selectArgs1, selectArg2);
builderName.withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, "my test name");
operationList.add(builderName.build());
Я пробовал GIVEN_NAME, NICK_NAME и DISPLAY_NAME, одноразовый из работавших.С другой стороны, я могу обновить заметки следующим кодом:
ContentProviderOperation.Builder builderNote = ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI);
selectArgs1 = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?";
selectArg2 = new String[] {id, ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE};
builderNote.withSelection(selectArgs1, selectArg2);
builderNote.withValue(ContactsContract.CommonDataKinds.Note.NOTE, "test note abc");
operationList.add(builderNote.build());
Это меня озадачивало уже несколько дней.Я удивлен, что обновление имен так сложно понять.Ваша помощь очень ценится.Заранее спасибо!