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; } }
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(); } }