Example #1
0
        private void SendInvitationViaSms(UIAlertAction handler)
        {
            CheckPermission(new Action(() =>
            {
                if (MFMessageComposeViewController.CanSendText)
                {
                    UIStoryboard board          = UIStoryboard.FromName("Challenges", null);
                    UIViewController controller = (UIViewController)board.InstantiateViewController("ContactViewController");
                    this.NavigationController.PushViewController(controller, true);

                    var smsController = new MFMessageComposeViewController {
                        Body = $"{_shareTemplateModel.InviteText} {_shareTemplateModel.ActionLink}"
                    };
                    var pickerDelegate = new ContactPickerDelegate();

                    smsController.Finished += (sender, e) =>
                    {
                        NSRunLoop.Main.BeginInvokeOnMainThread(() =>
                        {
                            e.Controller.DismissViewController(true, null);
                        });
                    };

                    (controller as ContactViewController).SelectContacts += ((string[] contactsArr) =>
                    {
                        smsController.Recipients = contactsArr;
                        NSRunLoop.Main.BeginInvokeOnMainThread(() =>
                        {
                            this.PresentViewController(smsController, true, null);
                        });
                    });
                }
            }));
        }
Example #2
0
        public bool SendSmsToNumbers(List <string> numbers, string message)
        {
            try
            {
                var contactPickerController = new CNContactPickerViewController();
                contactPickerController.PredicateForEnablingContact = NSPredicate.FromValue(true);
                UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(contactPickerController, true, null);
                // Respond to selection

                var smsController = new MFMessageComposeViewController {
                    Body = message
                };


                smsController.Finished += (sender, e) =>
                {
                    NSRunLoop.Main.BeginInvokeOnMainThread(() =>
                    {
                        e.Controller.DismissViewController(true, null);
                    });
                };
                var pickerDelegate = new ContactPickerDelegate();
                pickerDelegate.SelectContacts += ((string[] contactsArr) =>
                {
                    //contacts = contactsArr;


                    UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(smsController, true, new Action(()
                                                                                                                                       =>
                    {
                        ;
                    })
                                                                                                       );
                });
                contactPickerController.Delegate = pickerDelegate;
                UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(contactPickerController, true, null);
                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(false);
            }
        }