コード例 #1
0
        public override void Finished(MFMessageComposeViewController controller, MessageComposeResult result)
        {
            Console.WriteLine("Custom, Finished");
            BatchMFMessageComposeViewController c = controller as BatchMFMessageComposeViewController;

            if (c != null && c.LeftRecipients.Count == 0)
            {
                c.Dispose();
            }
        }
コード例 #2
0
        void HandleSmscontrollerFinished(object sender, MFMessageComposeResultEventArgs e)
        {
            BatchMFMessageComposeViewController batchController = sender as BatchMFMessageComposeViewController;

            switch (e.Result)
            {
            case MessageComposeResult.Sent:

                if (batchController.HasRecipientsLeft)
                {
                    batchController.DismissModalViewControllerAnimated(false);
                    Thread.Sleep(100);
                    BatchMFMessageComposeViewController c = new BatchMFMessageComposeViewController(
                        batchController.Parent,
                        batchController.LeftRecipients.ToArray(),
                        this.Message.Text,
                        batchController.BatchSize,
                        batchController.MagicExpressionEnabled);
                    c.Finished += HandleSmscontrollerFinished;
                    batchController.Dispose();
                    this.Parent.NavigationController.PresentModalViewController(c, true);
                }
                else
                {
                    batchController.ResignFirstResponder();
                    batchController.MessageComposeDelegate.Dispose();
                    batchController.DismissModalViewControllerAnimated(false);
                    batchController.Dispose();
                    ThreadPool.QueueUserWorkItem((evt) => {
                        Thread.Sleep(500);
                        UIAlertView alert = new UIAlertView(
                            Settings.GetLocalizedString("Sms is being sent", LocalizedKey),
                            Settings.GetLocalizedString("Your message will be sent soon", LocalizedKey),
                            null, "OK");
                        this.InvokeOnMainThread(() => { alert.Show(); });

                        ((AppDelegate)UIApplication.SharedApplication.Delegate).Apprater.UserDidSignificantEvent(true);
                    });
                }
                break;

            case MessageComposeResult.Cancelled:
                batchController.ResignFirstResponder();
                batchController.DismissModalViewControllerAnimated(false);
                batchController.Dispose();
                break;

            default:
                break;
            }
        }
コード例 #3
0
        public void SendSms()
        {
            if (MFMessageComposeViewController.CanSendText)
            {
                if (editContactController != null)
                {
                    Phones = editContactController.Phones;
                }
                else
                {
                    Phones = Sms.Persons.ToArray();
                }

                BatchMFMessageComposeViewController smscontroller =
                    new BatchMFMessageComposeViewController(this.Parent, Phones, Message.Text, BatchSize, this.MagicExpressionSwitch.On);
                smscontroller.Finished += HandleSmscontrollerFinished;
                this.Parent.NavigationController.PresentModalViewController(smscontroller, true);
            }
        }
コード例 #4
0
        void HandleSmscontrollerFinished(object sender, MFMessageComposeResultEventArgs e)
        {
            BatchMFMessageComposeViewController batchController = sender as BatchMFMessageComposeViewController;

            switch (e.Result)
            {

                case MessageComposeResult.Sent:

                    if(batchController.HasRecipientsLeft)
                    {
                        batchController.DismissModalViewControllerAnimated(false);
                        Thread.Sleep(100);
                        BatchMFMessageComposeViewController c = new BatchMFMessageComposeViewController(
                            batchController.Parent,
                            batchController.LeftRecipients.ToArray(),
                            this.Message.Text,
                            batchController.BatchSize,
                            batchController.MagicExpressionEnabled);
                        c.Finished += HandleSmscontrollerFinished;
                        batchController.Dispose();
                        this.Parent.NavigationController.PresentModalViewController(c, true);
                    }
                    else
                    {
                        batchController.ResignFirstResponder();
                        batchController.MessageComposeDelegate.Dispose();
                        batchController.DismissModalViewControllerAnimated(false);
                        batchController.Dispose();
                        ThreadPool.QueueUserWorkItem ((evt) => {
                            Thread.Sleep(500);
                            UIAlertView alert = new UIAlertView(
                                Settings.GetLocalizedString("Sms is being sent", LocalizedKey),
                                Settings.GetLocalizedString("Your message will be sent soon", LocalizedKey),
                                null, "OK");
                            this.InvokeOnMainThread(()=> { alert.Show();});

                        ((AppDelegate)UIApplication.SharedApplication.Delegate).Apprater.UserDidSignificantEvent(true);
                        });
                    }
                    break;

                case MessageComposeResult.Cancelled:
                    batchController.ResignFirstResponder();
                    batchController.DismissModalViewControllerAnimated(false);
                    batchController.Dispose();
                    break;
                default:
                    break;
            }
        }
コード例 #5
0
        public void SendSms()
        {
            if(MFMessageComposeViewController.CanSendText)
            {
                if(editContactController != null)
                {
                    Phones = editContactController.Phones;
                }else
                {
                    Phones = Sms.Persons.ToArray();
                }

                BatchMFMessageComposeViewController smscontroller =
                    new BatchMFMessageComposeViewController(this.Parent, Phones , Message.Text, BatchSize, this.MagicExpressionSwitch.On);
                smscontroller.Finished += HandleSmscontrollerFinished;
                this.Parent.NavigationController.PresentModalViewController(smscontroller, true);
            }
        }