Я бы хотел, чтобы мой код обновил контактную информацию (например, имя, номер телефона, адрес электронной почты, данные организации и т. Д.) В книге контактов Android. Мне удалось изменить несколько (имя, номер телефона и адрес электронной почты, чтобы быть конкретным), но не все.
Всякий раз, когда я пытаюсь обновить сведения об организации (Contacts.Organizations.COMPANY и Contacts.Organizations.TITLE) для контакта, мое приложение выдает исключение
java.lang.UnsupportedOperationException: Cannot update URL: content://contacts/people/69/organizations/69
фрагмент кода выглядит следующим образом:
Uri baseUri = ContentUris.withAppendedId(People.CONTENT_URI, 69);
Uri uri = Uri.withAppendedPath(baseUri, People.Phones.CONTENT_DIRECTORY);
Cursor c = this.getContentResolver().query(uri,
new String[] { Contacts.Organizations._ID, Contacts.Organizations.COMPANY,Contacts.Organizations.TITLE},
null, null, null);
if(c.getCount() > 0) {
uri = ContentUris.withAppendedId(uri, c.getString(0));
ContentValues val1 = new ContentValues();
val1.put(Contacts.Organizations.COMPANY, "arw");
val1.put(Contacts.Organizations.TYPE, Contacts.Organizations.TYPE_WORK);
val1.put(Contacts.Organizations.TITLE, "abcdef");
this.getContentResolver().insert(uri, val1);