向现有联系人添加新的邮政地址

add new postal address to existing contact

我尝试在现有联系人上添加地址:

// insert

operations.Add(ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri)
                                       .WithValue(ContactsContract.Data.InterfaceConsts.ContactId, contact.Id)
                                       .WithValue(ContactsContract.Data.InterfaceConsts.RawContactId, GetRawContactId(contact.Id))
                                       .WithValue(ContactsContract.Data.InterfaceConsts.Mimetype, ContactsContract.CommonDataKinds.StructuredPostal.ContentItemType)
                                       .WithValue(ContactsContract.CommonDataKinds.StructuredPostal.Pobox, address.PoBox)
                                       .WithValue(ContactsContract.CommonDataKinds.StructuredPostal.Street, address.Street)
                                       .WithValue(ContactsContract.CommonDataKinds.StructuredPostal.City, address.City)
                                       .WithValue(ContactsContract.CommonDataKinds.StructuredPostal.Postcode, address.Postcode)
                                       .WithValue(ContactsContract.CommonDataKinds.StructuredPostal.Country, address.Country)
                                       .WithValue(ContactsContract.CommonDataKinds.CommonColumns.Type, GetAddressContactInfoType(address.InfoType))
                                       .Build());

但我得到的只是一个

Android.Content.OperationApplicationException: insert failed

有什么建议吗?

非常感谢你

我终于找到了解决办法。我不得不删除以下行:

.WithValue(ContactsContract.Data.InterfaceConsts.ContactId, contact.Id)