Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Android(Xamarin)正在更新联系人_C#_Android_Xamarin_Xamarin.android - Fatal编程技术网

C# Android(Xamarin)正在更新联系人

C# Android(Xamarin)正在更新联系人,c#,android,xamarin,xamarin.android,C#,Android,Xamarin,Xamarin.android,我在更新联系人时遇到了一些问题-昨天我成功地将测试手机上的所有联系人详细信息更改为“0 Main”:-( 我能够使用以下代码创建全新的联系人: if (_IsNewContact) { List<ContentProviderOperation> ops = new List<ContentProviderOperation>(); ContentProviderOperation.Builder buil

我在更新联系人时遇到了一些问题-昨天我成功地将测试手机上的所有联系人详细信息更改为“0 Main”:-(

我能够使用以下代码创建全新的联系人:

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 { }
        }
if(\u IsNewContact)
{
列表操作=新列表();
ContentProviderOperation.Builder=
ContentProviderOperation.NewInsert(ContactsContract.RawContacts.ContentUri);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountType,null);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountName,空);
ops.Add(builder.Build());
//名字
builder=ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId,0);
builder.WithValue(contacts contract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataTypes.StructuredName.ContentItemType);
builder.WithValue(contacts contract.commonDataTypes.StructuredName.GivenName,_Contact.FirstName);
builder.WithValue(contacts contract.commonDataTypes.StructuredName.FamilyName,_Contact.LastName);
ops.Add(builder.Build());
//数
builder=ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId,0);
builder.WithValue(contacts contract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataTypes.Phone.ContentItemType);
builder.WithValue(contacts contract.commondatatypes.Phone.Number,_Contact.Phone);
builder.WithValue(contacts contract.commonDataTypes.Phone.InterfaceConsts.Type,
Contacts contract.CommonDataTypes.Phone.InterfaceConsts.TypeCustom);
builder.WithValue(contacts contract.commonDataTypes.Phone.InterfaceConsts.Label,“Main”);
ops.Add(builder.Build());
//电子邮件
builder=ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId,0);
builder.WithValue(contacts contract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataTypes.Email.ContentItemType);
builder.WithValue(contacts contract.commondatatypes.Email.InterfaceConsts.Data,_Contact.Email);
builder.WithValue(contacts contract.commonDataTypes.Email.InterfaceConsts.Type,
Contacts contract.CommonDataTypes.Email.InterfaceConsts.TypeCustom);
builder.WithValue(contacts contract.commondatatypes.Email.InterfaceConsts.Label,“Main”);
ops.Add(builder.Build());
//添加新联系人
ContentProviderResult[]结果;
尝试
{
结果=ContentResolver.ApplyBatch(contacts contract.Authority,ops);
}
捕获{}
}
这是我用来更新的代码,但目前它试图更改每个联系人,将所有值更改为0 Main

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 { }
        }
else
{
列表操作=新列表();
ContentProviderOperation.Builder=
ContentProviderOperation.NewUpdate(ContactsContract.RawContacts.ContentUri);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountType,null);
builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountName,空);
ops.Add(builder.Build());
//名字
builder=ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId,0);
builder.WithValue(contacts contract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataTypes.StructuredName.ContentItemType);
builder.WithValue(contacts contract.commonDataTypes.StructuredName.GivenName,_Contact.FirstName);
builder.WithValue(contacts contract.commonDataTypes.StructuredName.FamilyName,_Contact.LastName);
ops.Add(builder.Build());
//数
builder=ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId,0);
builder.WithValue(contacts contract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataTypes.Phone.ContentItemType);
builder.WithValue(contacts contract.commondatatypes.Phone.Number,_Contact.Phone);
builder.WithValue(contacts contract.commonDataTypes.Phone.InterfaceConsts.Type,
Contacts contract.CommonDataTypes.Phone.InterfaceConsts.TypeCustom);
builder.WithValue(contacts contract.commonDataTypes.Phone.InterfaceConsts.Label,“Main”);
ops.Add(builder.Build());
//电子邮件
builder=ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId,0);
builder.WithValue(contacts contract.Data.InterfaceConsts.Mimetype,
ContactsContract.CommonDataTypes.Email.ContentItemType);
builder.WithValue(contacts contract.commondatatypes.Email.InterfaceConsts.Data,_Contact.Email);
builder.WithValue(contacts contract.commonDataTypes.Email.InterfaceConsts.Type,
Contacts contract.CommonDataTypes.Email.InterfaceConsts.TypeCustom);
builder.WithValue(contacts contract.commondatatypes.Email.InterfaceConsts.Label,“Main”);
            // Name 
            String nameSelection = ContactsContract.Data.InterfaceConsts.RawContactId + " = ? AND " 
                                   + ContactsContract.Data.InterfaceConsts.Mimetype + " = ? ";
            String[] nameSelectionArgs = {
                _Contact.DataId.ToString(),
                ContactsContract.CommonDataKinds.StructuredName.ContentItemType
            };

            ContentProviderOperation.Builder builder = ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
            builder.WithSelection(nameSelection, nameSelectionArgs);
            builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.GivenName, _Contact.FirstName);
            builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.FamilyName, _Contact.LastName);
            ops.Add(builder.Build());

            // Phone
            String phoneSelection = ContactsContract.Data.InterfaceConsts.RawContactId + " = ? AND " 
                                    + ContactsContract.Data.InterfaceConsts.Mimetype + " = ? ";
            String[] phoneelectionArgs = {
                _Contact.DataId.ToString(),
                ContactsContract.CommonDataKinds.Phone.ContentItemType
            };

            builder = ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
            builder.WithSelection(phoneSelection, phoneelectionArgs);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.Number, _Contact.Phone);
            ops.Add(builder.Build());

            // Email
            String emailSelection = ContactsContract.Data.InterfaceConsts.RawContactId + " = ? AND "
                             + ContactsContract.Data.InterfaceConsts.Mimetype + " = ? ";
            String[] emailSelectionArgs = {
                _Contact.DataId.ToString(),
                ContactsContract.CommonDataKinds.Email.ContentItemType
            };

            builder = ContentProviderOperation.NewUpdate(ContactsContract.Data.ContentUri);
            builder.WithSelection(emailSelection, emailSelectionArgs);
            builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Data, _Contact.Email);
            ops.Add(builder.Build());

            // Update the contact
            ContentProviderResult[] result;
            try
            {
                result = ContentResolver.ApplyBatch(ContactsContract.Authority, ops);
            }
            catch { }