Example #1
0
		public void ParseAndApply(XDocument input, ContentResolver resolver)
		{
			try {
	            List<ContentProviderOperation> batch = Parse(input, resolver);
	            resolver.ApplyBatch(mAuthority, batch);
	        } 
			catch (Exception e)
			{
	            // Failures like constraint violation aren't recoverable
	            // TODO: write unit tests to exercise full provider
	            // TODO: consider catching version checking asserts here, and then
	            // wrapping around to retry parsing again.
	            throw new Exception("Problem applying batch operation", e);
	        }	
		}
Example #2
0
 public void ParseAndApply(XDocument input, ContentResolver resolver)
 {
     try {
         List <ContentProviderOperation> batch = Parse(input, resolver);
         resolver.ApplyBatch(mAuthority, batch);
     }
     catch (Exception e)
     {
         // Failures like constraint violation aren't recoverable
         // TODO: write unit tests to exercise full provider
         // TODO: consider catching version checking asserts here, and then
         // wrapping around to retry parsing again.
         throw new Exception("Problem applying batch operation", e);
     }
 }
        private void Addnewcontact_Click(object sender, EventArgs e)
        {
            EditText txtfirstname = (EditText)FindViewById(Resource.Id.edtfirstname);
            EditText txtlastname  = (EditText)FindViewById(Resource.Id.edtlastname);
            EditText txtphoneno   = (EditText)FindViewById(Resource.Id.edtphoneno);
            string   lastname     = (txtlastname.Text).ToString();
            string   firstname    = (txtfirstname.Text).ToString();
            string   phone        = (txtphoneno.Text).ToString();

            List <ContentProviderOperation> contactadd = 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);
            contactadd.Add(builder.Build());

            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.FamilyName, lastname);
            builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.GivenName, firstname);
            contactadd.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, phone);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Type,
                              ContactsContract.CommonDataKinds.Phone.InterfaceConsts.TypeCustom);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Label, "Mobile");
            contactadd.Add(builder.Build());

            //Add the new contact
            ContentProviderResult[] res;
            try
            {
                res = ContentResolver.ApplyBatch(ContactsContract.Authority, contactadd);
                Toast.MakeText(this, "Contact added sucessfully", ToastLength.Short).Show();
            }
            catch
            {
                Toast.MakeText(this, "Contact not added", ToastLength.Long).Show();
            }
        }
Example #4
0
        public void SaveContact()
        {
            // overview on contacts provider - http://developer.android.com/guide/topics/providers/contacts-provider.html

            var name  = FindViewById <EditText>(Resource.Id.etName).Text;
            var phone = FindViewById <EditText>(Resource.Id.etPhone).Text;

            List <ContentProviderOperation> ops = new List <ContentProviderOperation>();

            ContentProviderOperation.Builder builder =
                ContentProviderOperation.NewInsert(ContactsContract.RawContacts.ContentUri);
            //For update use -  ContentProviderOperation.NewUpdate(ContactsContract.RawContacts.ContentUri);

            builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountType, "twitter.com");
            builder.WithValue(ContactsContract.RawContacts.InterfaceConsts.AccountName, "*****@*****.**");
            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.FamilyName, name);
            builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.DisplayName, name);
            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, phone);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Type,
                              ContactsContract.CommonDataKinds.Phone.InterfaceConsts.TypeCustom);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Label, "Work");
            ops.Add(builder.Build());

            //Add the new contact
            try
            {
                ContentResolver.ApplyBatch(ContactsContract.Authority, ops);
                Toast.MakeText(this, "Contact saved", ToastLength.Short).Show();
            }
            catch
            {
                Toast.MakeText(this, "Contact somehow failed to save", ToastLength.Short).Show();
            }
        }
Example #5
0
        public void AddContact(String displayName, string mobileNumber, String email)
        {
            List <ContentProviderOperation> ops = new List <ContentProviderOperation>();

            int rawContactInsertIndex = ops.Count;

            ops.Add(ContentProviderOperation.NewInsert(Android.Provider.ContactsContract.RawContacts.ContentUri)
                    .WithValue(Android.Provider.ContactsContract.RawContacts.InterfaceConsts.AccountType, null)
                    .WithValue(Android.Provider.ContactsContract.RawContacts.InterfaceConsts.AccountName, null).Build());

            //Display Name

            ops.Add(ContentProviderOperation
                    .NewInsert(Android.Provider.ContactsContract.Data.ContentUri)
                    .WithValueBackReference(Android.Provider.ContactsContract.Data.InterfaceConsts.RawContactId, rawContactInsertIndex)
                    .WithValue(Android.Provider.ContactsContract.Data.InterfaceConsts.Mimetype, Android.Provider.ContactsContract.CommonDataKinds.StructuredName.ContentItemType)
                    .WithValue(Android.Provider.ContactsContract.CommonDataKinds.StructuredName.DisplayName, displayName).Build()); // Name of the person

            //mobile number

            ops.Add(ContentProviderOperation
                    .NewInsert(Android.Provider.ContactsContract.Data.ContentUri)
                    .WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, rawContactInsertIndex)
                    .WithValue(Android.Provider.ContactsContract.Data.InterfaceConsts.Mimetype, Android.Provider.ContactsContract.CommonDataKinds.Phone.ContentItemType)
                    .WithValue(Android.Provider.ContactsContract.CommonDataKinds.Phone.Number, mobileNumber)                     // Number of the person
                    .WithValue(Android.Provider.ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Type, "mobile").Build()); // Type of mobile number

            //email Address
            ops.Add(ContentProviderOperation
                    .NewInsert(ContactsContract.Data.ContentUri)
                    .WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, rawContactInsertIndex)
                    .WithValue(Android.Provider.ContactsContract.Data.InterfaceConsts.Mimetype, ContactsContract.CommonDataKinds.Email.ContentItemType)
                    .WithValue(Android.Provider.ContactsContract.CommonDataKinds.Email.Address, email).Build()); // Email Address
            //.WithValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)

            // Asking the Contact provider to create a new contact
            try
            {
                ContentResolver.ApplyBatch(ContactsContract.Authority, ops);
            }
            catch (Exception ex)
            {
                Toast.MakeText(this, "Exception: " + ex.Message, ToastLength.Long).Show();
            }
        }
Example #6
0
        public void rehberEkle(string FirstName, string PhoneNumber)
        {
            List <ContentProviderOperation> ops = new List <ContentProviderOperation>();
            int rawContactInsertIndex           = ops.Count;

            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, rawContactInsertIndex);
            builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
                              ContactsContract.CommonDataKinds.StructuredName.ContentItemType);
            //builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.FamilyName, LastName);
            builder.WithValue(ContactsContract.CommonDataKinds.StructuredName.GivenName, FirstName);
            ops.Add(builder.Build());

            //Number
            builder = ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
            builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, rawContactInsertIndex);
            builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
                              ContactsContract.CommonDataKinds.Phone.ContentItemType);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.Number, PhoneNumber);
            builder.WithValue(ContactsContract.CommonDataKinds.StructuredPostal.InterfaceConsts.Type,
                              ContactsContract.CommonDataKinds.StructuredPostal.InterfaceConsts.TypeCustom);
            builder.WithValue(ContactsContract.CommonDataKinds.Phone.InterfaceConsts.Label, "Primary Phone");
            ops.Add(builder.Build());

            /*
             * //Email
             * builder = ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
             * builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, rawContactInsertIndex);
             * builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
             *  ContactsContract.CommonDataKinds.Email.ContentItemType);
             * builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Data, Email);
             * builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Type,
             *  ContactsContract.CommonDataKinds.Email.InterfaceConsts.TypeCustom);
             * builder.WithValue(ContactsContract.CommonDataKinds.Email.InterfaceConsts.Label, "Email");
             * ops.Add(builder.Build());
             *
             * //Address
             * builder = ContentProviderOperation.NewInsert(ContactsContract.Data.ContentUri);
             * builder.WithValueBackReference(ContactsContract.Data.InterfaceConsts.RawContactId, rawContactInsertIndex);
             * builder.WithValue(ContactsContract.Data.InterfaceConsts.Mimetype,
             *  ContactsContract.CommonDataKinds.StructuredPostal.ContentItemType);
             * builder.WithValue(ContactsContract.CommonDataKinds.StructuredPostal.Street, Address1);
             * builder.WithValue(ContactsContract.CommonDataKinds.StructuredPostal.City, Address2);
             * ops.Add(builder.Build());
             */
            try
            {
                var res = ContentResolver.ApplyBatch(ContactsContract.Authority, ops);

                Toast.MakeText(this, "Contact Saved", ToastLength.Short).Show();
            }
            catch
            {
                Toast.MakeText(this, "Contact Not Saved", ToastLength.Long).Show();
            }
        }