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