private void SendSMS(string phoneNumber) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "Kierowca " + Driver.FirstName + " będzie u państwa (" + Order.Start + ") w ciągu 15 minut."; msg.Recipients.Add(phoneNumber); Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); }
private async void btnSend_Click(object sender, RoutedEventArgs e) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = txtCode.Text; msg.Recipients.Add(txtSender.Text); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); }
private async void EnviaSMSClick(object sender, RoutedEventArgs e) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "TESTE TESTE TESTE"; msg.Recipients.Add("80351686"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); }
private async void msgappbar_Click(object sender, RoutedEventArgs e) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "r u willing to donate blood"; detailsofperson dof = new detailsofperson(); msg.Recipients.Add(distTxt.Text); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); }
private async void Action_Message(String Name, String Number) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "Hi " + Name + ", I want to know more about ATMOS."; msg.Recipients.Add(Number); await Windows.ApplicationModel.Chat.ChatMessageManager .ShowComposeSmsMessageAsync(msg); }
private async void ComposeSMS(String recipient, String messageBody) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "" + messageBody; msg.Recipients.Add(recipient); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); }
public void SendSMS(string phoneNumber, string text) { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = text; chatMessage.Recipients.Add(phoneNumber); Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); }
private async void btnSMS_Click(object sender, RoutedEventArgs e) { if (callNumber != null) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "I wound like to buy: " + items[0].name; msg.Recipients.Add(callNumber); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } }
private async void btnSMS_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { if (callNumber != null) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "I wound like to rent your room which is located at: " + items[0].address; msg.Recipients.Add(callNumber); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } }
private async void ComposeSMS(Contact contact, string message) { try { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = message; var phone = contact.Phones.FirstOrDefault <Windows.ApplicationModel.Contacts.ContactPhone>(); chatMessage.Recipients.Add(phone.Number); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); } catch { } }
private async void Action_Message(object sender, RoutedEventArgs e) { AppBarButton ell = sender as AppBarButton; string no = phn[Convert.ToInt16(ell.Tag.ToString())], nam = name[Convert.ToInt16(ell.Tag.ToString())]; Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "Hi " + nam + ", I want to know more about ATMOS."; msg.Recipients.Add(no); await Windows.ApplicationModel.Chat.ChatMessageManager .ShowComposeSmsMessageAsync(msg); }
private async void Share_Click(object sender, RoutedEventArgs e) { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = "When will daddy be home? https://whenwilldaddybehome.azurewebsites.net/WhereIs/Daddy/" + thisIdentifier.ToString(); //var phone = recipient.Phones.FirstOrDefault & lt; Windows.ApplicationModel.Contacts.ContactPhone & gt; (); //if (phone != null) //{ // chatMessage.Recipients.Add(phone.Number); //} await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); }
async private void Message_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(vm.InspectionTask.CustPhone)) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = ""; msg.Recipients.Add(vm.InspectionTask.CustPhone); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } else { await new MessageDialog("No phone number exist").ShowAsync(); } }
private async void SendSMS(Contact toContatc, string message) { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = message; var phone = toContatc.Phones.FirstOrDefault <Windows.ApplicationModel.Contacts.ContactPhone>(); if (phone != null) { chatMessage.Recipients.Add(phone.Number); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); } }
public bool SendMessage(ChatMessage chatmessage) { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); if (chatmessage != null) { chatMessage.Body = chatmessage.Body; chatMessage.Subject = chatmessage.Subject; chatMessage.Recipients.Add(chatmessage.From); } var result = Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); result.GetResults(); return(true); }
private async void SendAMessage_Tapped(object sender, TappedRoutedEventArgs e) { if (ApplicationData.Current.LocalSettings.Values.ContainsKey("CallPhoneNumber")) { string number = ApplicationData.Current.LocalSettings.Values["CallPhoneNumber"].ToString(); Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "ΧΑΘΗΚΑ ΚΤΛ..."; msg.Recipients.Add(number); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } else { //TODO Warn the user to set up the app } }
private async void sms_Click(object sender, RoutedEventArgs e) { if(Box2.Text!="" && phone.Text!="" && Box2.Text != "Zaszyfruj coś!" && phone.Text != "Podaj numer!") { var msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = Box2.Text; msg.Recipients.Add(phone.Text); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } else { if(phone.Text == "") phone.Text = "Podaj numer!"; if (Box2.Text == "") Box2.Text = "Zaszyfruj coś!"; } }
/// <summary> /// Shows the details of an item clicked on in the <see cref="ItemPage"/> /// </summary> /// <param name="sender">The GridView displaying the item clicked.</param> /// <param name="e">Event data that describes the item clicked.</param> private async void ItemView_ItemClick(object sender, ItemClickEventArgs e) { var item = (MessageItem)e.ClickedItem; Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = item.Content; msg.Recipients.Add(item.Telephone); Debug.WriteLine($"{item.DisplayName}, {item.LastName}, {item.Content}, {item.Telephone}"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); item.DoneSent = true; item.onPropertyChanged(nameof(item.DoneSent)); //if (!Frame.Navigate(typeof(ItemPage), itemId)) //{ // var resourceLoader = ResourceLoader.GetForCurrentView("Resources"); // throw new Exception(resourceLoader.GetString("NavigationFailedExceptionMessage")); //} }
private async void sms_Click(object sender, RoutedEventArgs e) { if (Box2.Text != "" && phone.Text != "" && Box2.Text != "Zaszyfruj coś!" && phone.Text != "Podaj numer!") { var msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = Box2.Text; msg.Recipients.Add(phone.Text); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } else { if (phone.Text == "") { phone.Text = "Podaj numer!"; } if (Box2.Text == "") { Box2.Text = "Zaszyfruj coś!"; } } }
/// <summary> /// Shows the compose SMS dialog, pre-populated with data from the supplied ChatMessage object, allowing the user to send an SMS message. /// </summary> /// <param name="message">The chat message.</param> /// <returns>An asynchronous action.</returns> public static Task ShowComposeSmsMessageAsync(ChatMessage message) { #if __ANDROID__ return(Task.Run(() => { StringBuilder addresses = new StringBuilder(); foreach (string recipient in message.Recipients) { addresses.Append(recipient + ";"); } if (addresses.Length > 0) { // trim final semicolon addresses.Length--; } Intent smsIntent = new Intent(Intent.ActionSendto, global::Android.Net.Uri.Parse("smsto:" + addresses.ToString())); smsIntent.PutExtra("sms_body", message.Body); smsIntent.AddFlags(ActivityFlags.ClearWhenTaskReset); Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity.StartActivity(smsIntent); //Platform.Android.ContextManager.Context.StartActivity(smsIntent); })); #elif __IOS__ return(ShowComposeSmsMessageAsyncImpl(message)); #elif WINDOWS_UWP || WINDOWS_PHONE_APP Windows.ApplicationModel.Chat.ChatMessage m = new Windows.ApplicationModel.Chat.ChatMessage(); foreach (string r in message.Recipients) { m.Recipients.Add(r); } m.Body = message.Body; return(Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(m).AsTask()); #elif WINDOWS_APP || WIN32 || __MAC__ return(Task.Run(async() => { // build uri StringBuilder sb = new StringBuilder(); if (message.Recipients.Count == 0) { throw new InvalidOperationException(); } else { sb.Append("sms:"); foreach (string recipient in message.Recipients) { sb.Append(recipient + ";"); } // Remove last semi-colon if (sb.Length > 4) { sb.Length -= 1; } } // add body if present if (!string.IsNullOrEmpty(message.Body)) { sb.Append("?"); sb.Append("body=" + Uri.EscapeDataString(message.Body)); } await InTheHand.System.Launcher.LaunchUriAsync(new Uri(sb.ToString())); })); #elif WINDOWS_PHONE return(Task.Run(() => { Microsoft.Phone.Tasks.SmsComposeTask composeTask = new Microsoft.Phone.Tasks.SmsComposeTask(); composeTask.Body = message.Body; StringBuilder recipients = new StringBuilder(); foreach (string recipient in message.Recipients) { recipients.Append(recipient + ";"); } // Remove last ; if (recipients.Length > 0) { recipients.Length -= 1; } composeTask.To = recipients.ToString(); composeTask.Show(); })); #else throw new PlatformNotSupportedException(); #endif }
private async void imageMessage_Tapped(object sender, TappedRoutedEventArgs e) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Recipients.Add((sender as Image).Tag.ToString()); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); }
public async Task ComposeSms(Windows.ApplicationModel.Contacts.Contact recipient, string messageBody, StorageFile attachmentFile, string mimeType) { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = messageBody; if (attachmentFile != null) { var stream = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromFile(attachmentFile); var attachment = new Windows.ApplicationModel.Chat.ChatMessageAttachment( mimeType, stream); chatMessage.Attachments.Add(attachment); } var phone = recipient.Phones.FirstOrDefault<Windows.ApplicationModel.Contacts.ContactPhone>(); if (phone != null) { chatMessage.Recipients.Add(phone.Number); } await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); }
private async void button1_Click(object sender, RoutedEventArgs e) { // List<string> recipients = null; var chatMsg = new Windows.ApplicationModel.Chat.ChatMessage { Body = "Sending a text message", }; chatMsg.Recipients.Add(pickedContact.Phones[0].Number); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMsg); }
public override void sendSMS(java.lang.String n1, java.lang.String n2, bool n) { var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = toCSharp(n2); chatMessage.Recipients.Add(toCSharp(n1)); Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage).AsTask().ConfigureAwait(false).GetAwaiter().GetResult(); }
private async void messageTextBlock_Tapped(object sender, TappedRoutedEventArgs e) { if (!String.IsNullOrEmpty(selectedWhistler.phone)) { Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Recipients.Add(selectedWhistler.phone); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } }
private async void fltShareNoteViaSMS_Click(object sender, RoutedEventArgs e) { MenuFlyoutItem fi = sender as MenuFlyoutItem; SNItem noteItem = fi.DataContext as SNItem; string messageBody = string.Empty; if (noteItem.N_crypted == 1) { PasswordRequestContentDialog dialog = new PasswordRequestContentDialog(noteItem); await dialog.ShowAsync(); if (dialog.Return == PasswordRequestContentDialogReturn.BtnOk) { messageBody = noteItem.N_caption + ":\n" + Cipher.Decrypt(noteItem.N_text, TmpPassword.NewPassword, noteItem.N_shadow); TmpPassword.Clear(); } else { return; } } else { messageBody = noteItem.N_caption + ":\n" + noteItem.N_text; } var chatMessage = new Windows.ApplicationModel.Chat.ChatMessage(); chatMessage.Body = messageBody; await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(chatMessage); }
//Function to calculate breathing private async void calculatebreathing(List<monitor> data) { Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; Complex[] reading = new Complex[120]; for (int i = 0; i < 120; i++) { reading[i] = data.ElementAt(i).x + data.ElementAt(i).y + data.ElementAt(i).z; } for (int i=120; i< 128; i++) { reading[i] = 0; } double a = Math.Abs(data.ElementAt(0).x - data.ElementAt(1).x); double b = Math.Abs(data.ElementAt(0).y - data.ElementAt(1).y); double c = Math.Abs(data.ElementAt(0).z - data.ElementAt(1).z); string contact; if (a > 3 || b > 3 || c > 3) { breathingHeaderTextBlock.Text = localSettings.Values["Baby_Name"].ToString() + "'s breathing is normal"; breathingHeaderTextBlock.Foreground = new SolidColorBrush(Windows.UI.Colors.ForestGreen); MyProgressRing.IsActive = false; } else count++; if (count >= 5) { breathingHeaderTextBlock.Text = localSettings.Values["Baby_Name"].ToString() + "'s breathing is unusual. Please check immediately"; breathingHeaderTextBlock.Foreground = new SolidColorBrush(Windows.UI.Colors.Crimson); if (localSettings.Values.ContainsKey("Contact_Number")) { contact = localSettings.Values["Contact_Number"].ToString(); Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI(contact, "Cradle"); Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "Baby's breathing is unusual!"; //msg.Recipients.Add("8056274226"); msg.Recipients.Add("10010"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } MyProgressRing.IsActive = false; if (a > 3 || b > 3 || c > 3) count = 0; } }
private async void sendtotalHours_Click(object sender, RoutedEventArgs e) { clientName = clientNameTextBox.Text; if (VerifyTimeIsAvailable(startTimePicker.Time) == true) { startTime = startTimePicker.Time.ToString(@"hh\:mm"); } else { startTime = DateTime.Now.Subtract(TimeSpan.FromHours(3)).ToString(@"hh\:mm"); } if (VerifyTimeIsAvailable(endTimePicker.Time) == true) { endTime = endTimePicker.Time.ToString(@"hh\:mm"); } else { endTime = DateTime.Now.ToString(@"hh\:mm"); } totalHours = endTimePicker.Time - startTimePicker.Time; if (totalHours < TimeSpan.FromDays(0)) { totalHours += TimeSpan.FromDays(1); } breakLength = ((ComboBoxItem)breakLengthPicker.SelectedItem).Content.ToString(); switch (breakLength) { case "30 min": totalHours -= TimeSpan.FromMinutes(30); break; case "45 min": totalHours -= TimeSpan.FromMinutes(45); break; case "60 min": totalHours -= TimeSpan.FromMinutes(60); break; } if (totalHours < TimeSpan.FromDays(0)) { totalHours = TimeSpan.FromDays(0); } if ((startDatePicker.Date.DayOfWeek == 0) & (totalHours < TimeSpan.FromHours(4))) { totalHours = TimeSpan.FromHours(4); totalTime = "4 hr call"; } else if (totalHours < TimeSpan.FromHours(3)) { totalHours = TimeSpan.FromHours(3); totalTime = "3 hr call"; } else totalTime = totalHours.ToString(@"hh\:mm"); var sms = new Windows.ApplicationModel.Chat.ChatMessage(); sms.Body = "Hours for " + clientName + " = " + totalTime + ".\n(" + startTime + " - " + endTime + ")\n" + breakLength + " break.\nGeorge"; sms.Recipients.Add("+61427015243"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(sms); SaveSettings("clientName", "Client"); SaveSettings("venueName", "Venue"); SaveSettings("onTheWay", "no"); }
private async void ontheway_Click(object sender, RoutedEventArgs e) { clientName = clientNameTextBox.Text; var sms = new Windows.ApplicationModel.Chat.ChatMessage(); sms.Body = "I am on the way to " + clientName + "\nGeorge"; sms.Recipients.Add("+61427015243"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(sms); SaveSettings("clientName", clientName); SaveSettings("onTheWay", "yes"); }
private async void confirmButton_Click(object sender, RoutedEventArgs e) { clientName = clientNameTextBox.Text; venueName = venueNameTextBox.Text; startDate = startDatePicker.Date.ToString("D"); startTime = startTimePicker.Time.ToString(@"hh\:mm"); var sms = new Windows.ApplicationModel.Chat.ChatMessage(); sms.Body = "Confirming " + clientName + " at " + venueName + " on " + startDate + " at " + startTime + "\nGeorge"; sms.Recipients.Add("+61427015243"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(sms); }
//Function to calculate sleeping position private async void calculatesleepingposition(List<monitor> data) { Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; float x = data.ElementAt(0).x; float y = data.ElementAt(0).y; float z = data.ElementAt(0).z; double xangle = System.Math.Atan(x / (Math.Sqrt((y * y) + (z * z)))); double yangle = System.Math.Atan(y / (Math.Sqrt((x * x) + (z * z)))); double zangle = System.Math.Atan((Math.Sqrt((x * x) + (y * y))) / z); xangle *= 180 / 3.141592; yangle *= 180 / 3.141592; zangle *= 180 / 3.141592; string a = "his"; if (localSettings.Values["Gender"].ToString() == "Male") a = "his"; else if (localSettings.Values["Gender"].ToString() == "Female") a = "her"; if ((xangle > 30 && xangle < 34) && (yangle > 30 && yangle < 34) && (zangle > 40 && zangle < 52)) { sleepingPositionTextBlock.Text = "Asleep on " + a + " back"; sleepingPositionTextBlock.Foreground = new SolidColorBrush(Windows.UI.Colors.ForestGreen); } else if ((xangle > 35 && xangle < 39) && (yangle > 26 && yangle < 30) && (zangle > 49 && zangle < 53) || ((xangle > 30 && xangle < 35) && (yangle > 37 && yangle < 41) && (zangle > 54 && zangle < 68))) { sleepingPositionTextBlock.Text = "Asleep on " + a + " side"; sleepingPositionTextBlock.Foreground = new SolidColorBrush(Windows.UI.Colors.Orange); } else if ((xangle > 36 && xangle < 40) && (yangle > 34 && yangle < 38) && (zangle > 57 && zangle < 61)) { sleepingPositionTextBlock.Text = "Asleep on " + a + " front"; sleepingPositionTextBlock.Foreground = new SolidColorBrush(Windows.UI.Colors.Crimson); if (localSettings.Values.ContainsKey("Contact_Number")) { string contact = localSettings.Values["Contact_Number"].ToString(); Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI(contact, "Cradle"); Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage(); msg.Body = "Baby's breathing is unusual!"; //msg.Recipients.Add("8056274226"); await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg); } } }
/// <summary> /// Shows the compose SMS dialog, pre-populated with data from the supplied ChatMessage object, allowing the user to send an SMS message. /// </summary> /// <param name="message">The chat message.</param> /// <returns>An asynchronous action.</returns> public static Task ShowComposeSmsMessageAsync(ChatMessage message) { #if __ANDROID__ return Task.Run(() => { StringBuilder addresses = new StringBuilder(); foreach (string recipient in message.Recipients) { addresses.Append(recipient + ";"); } if (addresses.Length > 0) { // trim final semicolon addresses.Length--; } Intent smsIntent = new Intent(Intent.ActionSendto, global::Android.Net.Uri.Parse("smsto:" + addresses.ToString())); smsIntent.PutExtra("sms_body", message.Body); smsIntent.AddFlags(ActivityFlags.ClearWhenTaskReset); Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity.StartActivity(smsIntent); //Platform.Android.ContextManager.Context.StartActivity(smsIntent); }); #elif __IOS__ return Task.Run(() => { try { string[] recipients = new string[message.Recipients.Count]; message.Recipients.CopyTo(recipients, 0); UIApplication.SharedApplication.BeginInvokeOnMainThread(() => { MFMessageComposeViewController mcontroller = new MFMessageComposeViewController(); mcontroller.Finished += mcontroller_Finished; mcontroller.Recipients = recipients; mcontroller.Body = message.Body; UIViewController currentController = UIApplication.SharedApplication.KeyWindow.RootViewController; while (currentController.PresentedViewController != null) currentController = currentController.PresentedViewController; currentController.PresentViewController(mcontroller, true, null); }); } catch(Exception ex) { global::System.Diagnostics.Debug.WriteLine(ex); // probably an iPod/iPad throw new PlatformNotSupportedException(); } }); #elif WINDOWS_UWP || WINDOWS_PHONE_APP Windows.ApplicationModel.Chat.ChatMessage m = new Windows.ApplicationModel.Chat.ChatMessage(); foreach (string r in message.Recipients) { m.Recipients.Add(r); } m.Body = message.Body; return Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(m).AsTask(); #elif WINDOWS_APP return Task.Run(async () => { // build uri StringBuilder sb = new StringBuilder(); if (message.Recipients.Count == 0) { throw new InvalidOperationException(); } else { sb.Append("sms:"); foreach (string recipient in message.Recipients) { sb.Append(recipient + ";"); } // Remove last semi-colon if (sb.Length > 4) { sb.Length -= 1; } } // add body if present if (!string.IsNullOrEmpty(message.Body)) { sb.Append("?"); sb.Append("body=" + Uri.EscapeDataString(message.Body)); } await Windows.System.Launcher.LaunchUriAsync(new Uri(sb.ToString())); }); #elif WINDOWS_PHONE return Task.Run(() => { Microsoft.Phone.Tasks.SmsComposeTask composeTask = new Microsoft.Phone.Tasks.SmsComposeTask(); composeTask.Body = message.Body; StringBuilder recipients = new StringBuilder(); foreach (string recipient in message.Recipients) { recipients.Append(recipient + ";"); } // Remove last ; if (recipients.Length > 0) { recipients.Length -= 1; } composeTask.To = recipients.ToString(); composeTask.Show(); }); #else throw new PlatformNotSupportedException(); #endif }