0
を更新アンドロイド(Xamarin)私は連絡先を更新トラブルのビットを持っています連絡先
if (_IsNewContact)
{
List<ContentProviderOperation> ops = new List<ContentProviderOperation>();
ContentProviderOperation.Builder builder =
ContentProviderOperation.NewInsert(ContactsContract.RawContacts.ContentUri);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountType, null);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountName, null);
ops.Add(builder.Build());
//Name
builder = ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, 0);
builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataKinds.StructuredName.ContentItemType);
builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.GivenName, _Contact.FirstName);
builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.FamilyName, _Contact.LastName);
ops.Add(builder.Build());
//Number
builder = ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, 0);
builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataKinds.Phone.ContentItemType);
builder.WithValue(ContactsContract.CommonDataKinds.Phone.Number, _Contact.Phone);
builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Type,
ContactsContract.CommonDataKinds.Phone.InterfaceConsts.TypeCustom);
builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Label, "Main");
ops.Add(builder.Build());
//Email
builder = ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, 0);
builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataKinds.Email.ContentItemType);
builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Data, _Contact.Email);
builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Type,
ContactsContract.CommonDataKinds.Email.InterfaceConsts.TypeCustom);
builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Label, "Main");
ops.Add(builder.Build());
//Add the new contact
ContentProviderResult[] result;
try
{
result = ContentResolver.ApplyBatch(ContactsContract.Authority, ops);
}
catch { }
}
そして、ここでは私が更新するために使用するコードがあるが、現時点では、それは0メイン
にすべての値を変更するすべての単一の連絡先を変更しようとします:ちょうど罰金以下のコードを使用してレコード生成電子のブランドの新しい連絡先else
{
List<ContentProviderOperation> ops = new List<ContentProviderOperation>();
ContentProviderOperation.Builder builder =
ContentProviderOperation.NewUpdate(ContactsContract.RawContacts.ContentUri);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountType, null);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountName, null);
ops.Add(builder.Build());
//Name
builder = ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, 0);
builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataKinds.StructuredName.ContentItemType);
builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.GivenName, _Contact.FirstName);
builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.FamilyName, _Contact.LastName);
ops.Add(builder.Build());
//Number
builder = ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, 0);
builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataKinds.Phone.ContentItemType);
builder.WithValue(ContactsContract.CommonDataKinds.Phone.Number, _Contact.Phone);
builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Type,
ContactsContract.CommonDataKinds.Phone.InterfaceConsts.TypeCustom);
builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Label, "Main");
ops.Add(builder.Build());
//Email
builder = ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, 0);
builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataKinds.Email.ContentItemType);
builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Data, _Contact.Email);
builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Type,
ContactsContract.CommonDataKinds.Email.InterfaceConsts.TypeCustom);
builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Label, "Main");
ops.Add(builder.Build());
//Add the new contact
ContentProviderResult[] result;
try
{
result = ContentResolver.ApplyBatch(ContactsContract.Authority, ops);
}
catch { }
}
ありがとう、それは完璧に動作します –