public static IAsyncAction ShowComposeSmsMessageAsync(ChatMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

#if __MACCATALYST__ // catalyst https://github.com/xamarin/xamarin-macios/issues/13935
            throw new InvalidOperationException("Not supported on catalyst (https://github.com/xamarin/xamarin-macios/issues/13935)");
#else
            var window     = UIApplication.SharedApplication.KeyWindow;
            var controller = window.RootViewController;

            var messageController = new MFMessageComposeViewController();

            messageController.Body       = message.Body;
            messageController.Recipients = message?.Recipients?.ToArray() ?? new string[] { };

            messageController.Finished += (sender, e) =>
            {
                messageController.DismissViewController(true, null);
            };

            controller.PresentViewController(messageController, true, null);

            return(Task.FromResult(true).AsAsyncAction());
#endif
        }
Exemple #2
0
        static Task PlatformComposeAsync(SmsMessage message)
        {
            // do this first so we can throw as early as possible
            var controller = Platform.GetCurrentViewController();

            // create the controller
            var messageController = new MFMessageComposeViewController();

            if (!string.IsNullOrWhiteSpace(message?.Body))
            {
                messageController.Body = message.Body;
            }

            messageController.Recipients = message?.Recipients?.ToArray() ?? new string[] { };

            // show the controller
            var tcs = new TaskCompletionSource <bool>();

            messageController.Finished += (sender, e) =>
            {
                messageController.DismissViewController(true, null);
                tcs?.TrySetResult(e.Result == MessageComposeResult.Sent);
            };
            controller.PresentViewController(messageController, true, null);

            return(tcs.Task);
        }
        public void shareText()
        {
            if (MFMessageComposeViewController.CanSendText)
            {
                MFMessageComposeViewController message =
                    new MFMessageComposeViewController();

                message.Finished += (sender, e) => {
                    message.DismissViewController(true, null);
                };

                message.Body       = "Bust your stress with this new iOS Games!!";
                message.Recipients = new string[] { "", "" };
                View.Window.RootViewController.PresentModalViewController(message, false);

                //this.PresentModalViewController(message, false);
            }



            //			var smsTo = NSUrl.FromString("sms:18015551234");
            //			UIApplication.SharedApplication.OpenUrl(smsTo);
            //			var imessageTo = NSUrl.FromString("sms:[email protected]");
            //			UIApplication.SharedApplication.OpenUrl(imessageTo);
            //
        }
 public void ShareText(string text)
 {
   if (MFMessageComposeViewController.CanSendText)
   {
     var smsController = new MFMessageComposeViewController { Body = text};
     smsController.Finished += (sender, e) => smsController.DismissViewController(true, null);
     UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(smsController, true, null);
   }
 }
Exemple #5
0
 /// <summary>
 /// Composes the SM.
 /// </summary>
 /// <param name="controller">Controller.</param>
 /// <param name="recipients">Recipients.</param>
 /// <param name="message">Message.</param>
 public static void ComposeSMS(UINavigationController controller, string[] recipients, string message)
 {
     MFMessageComposeViewController smsController = new MFMessageComposeViewController();
     smsController.Recipients = recipients;
     smsController.Body = message;
     smsController.Finished += (sender, e) => {
         smsController.DismissViewController(true, null);
     };
     controller.PresentViewController(smsController, true, null);
 }
 /// <summary>
 /// Sends the SMS.
 /// </summary>
 /// <param name="to">To.</param>
 /// <param name="body">The body.</param>
 public void SendSMS(string to, string body)
 {
     if (CanSendSMS)
     {
         var smsController = new MFMessageComposeViewController {
             Body = body, Recipients = new[] { to }
         };
         smsController.Finished += (sender, e) => smsController.DismissViewController(true, null);
         UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(smsController, true, null);
     }
 }
Exemple #7
0
 public void ShareText(string text)
 {
     if (MFMessageComposeViewController.CanSendText)
     {
         var smsController = new MFMessageComposeViewController {
             Body = text
         };
         smsController.Finished += (sender, e) => smsController.DismissViewController(true, null);
         UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(smsController, true, null);
     }
 }
Exemple #8
0
        public static void ShowAndSendSMS(UIViewController viewController, string[] recipients, string body, Action successCallBack)
        {
            if (MFMessageComposeViewController.CanSendText)
            {
                MFMessageComposeViewController message =
                    new MFMessageComposeViewController();

                message.Finished += (sender, e) =>
                {
                    if (e.Result == MessageComposeResult.Sent)
                    {
                        successCallBack.Invoke();
                    }
                    message.DismissViewController(true, null);
                };

                message.Body       = body;
                message.Recipients = recipients;
                viewController.PresentModalViewController(message, false);
            }
        }
Exemple #9
0
        public static Task ComposeAsync(SmsMessage message)
        {
            if (!IsComposeSupported)
            {
                throw new FeatureNotSupportedException();
            }

            // do this first so we can throw as early as possible
            var controller = Platform.GetCurrentViewController();

            // create the controller
            var messageController = new MFMessageComposeViewController();

            if (!string.IsNullOrWhiteSpace(message?.Body))
            {
                messageController.Body = message.Body;
            }
            if (!string.IsNullOrWhiteSpace(message?.Recipient))
            {
                messageController.Recipients = new[] { message.Recipient }
            }
            ;

            // show the controller
            var tcs = new TaskCompletionSource <bool>();

            messageController.Finished += (sender, e) =>
            {
                messageController.DismissViewController(true, null);
                tcs.SetResult(e.Result == MessageComposeResult.Sent);
            };
            controller.PresentViewController(messageController, true, null);

            return(tcs.Task);
        }
    }
Exemple #10
0
        public static IAsyncAction ShowComposeSmsMessageAsync(ChatMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            var window     = UIApplication.SharedApplication.KeyWindow;
            var controller = window.RootViewController;

            var messageController = new MFMessageComposeViewController();

            messageController.Body       = message.Body;
            messageController.Recipients = message?.Recipients?.ToArray() ?? new string[] { };

            messageController.Finished += (sender, e) =>
            {
                messageController.DismissViewController(true, null);
            };

            controller.PresentViewController(messageController, true, null);

            return(Task.FromResult(true).AsAsyncAction());
        }
 public override void DidFinish(MFMessageComposeViewController controller, MessageComposeResult result)
 {
     controller.DismissViewController(true, null);
     SocialXT.OnSMSCompleted(result);
 }
 public override void DidFinish(MFMessageComposeViewController controller, MessageComposeResult result)
 {
     controller.DismissViewController(true, null);
     SocialXT.OnSMSCompleted(result);
 }
 /// <summary>
 /// Sends the SMS.
 /// </summary>
 /// <param name="to">To.</param>
 /// <param name="body">The body.</param>
 public void SendSMS(string to, string body)
 {
     if (CanSendSMS)
     {
         var smsController = new MFMessageComposeViewController { Body = body, Recipients = new[] { to } };
         smsController.Finished += (sender, e) => smsController.DismissViewController(true, null);
         UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(smsController, true, null);
     }
 }
		public bool ShowAndSendSMS(string[] recipients, string body){
			if (MFMessageComposeViewController.CanSendText) {
				MFMessageComposeViewController message = new MFMessageComposeViewController ();
				message.Finished += (sender, e) => {
					message.DismissViewController (true, null);
				};
				message.Body = body;
				message.Recipients = recipients;
				this.PresentViewController (message, false, null);
			} else {
				//Oh oh
				UIAlertView alert = new UIAlertView();
				alert.Title = "Foutje";
				alert.AddButton("OK");
				alert.Message = "SMS sturen niet mogelijk...";
				alert.Show();
			}
			return true;
		}
        public void Sms(string message, string[] recivers)
        {
            if (!MFMessageComposeViewController.CanSendText)
            {
                return;
            }

            var smsController = new MFMessageComposeViewController();
            if (recivers != null)
            {
                smsController.Recipients = recivers;
            }
            smsController.Body = message;
            smsController.Finished += (sender, e) => smsController.DismissViewController(true, null);
            UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(smsController, true, null);
        }