发送短信作为后台任务

时间:2016-01-02 16:03:23

标签: c# windows-phone-8.1 geofencing background-task

我正在开发一个移动应用程序,当设备作为后台任务进入特定地理围栏时发送短信提醒。如何在后台发送短信提醒。以下代码用于在应用程序中发送SMS,因为大多数资源解释了哪些需要人为干扰。如何在没有任何干扰的情况下在后台完成。

 var message = new ChatMessage();
 message.Recipients.Add(item.PhoneNumber);
 message.Body = "School Service is few miles away from your home";
 await ChatMessageManager.ShowComposeSmsMessageAsync(message);

3 个答案:

答案 0 :(得分:1)

无法使用聊天消息并在后台发送短信。只能使用像twilo这样的网络服务,让你通过休息电话发送短信。

答案 1 :(得分:1)

在这种情况下发送通知的最佳选项是来自后台任务的Toast通知。这是吐司通知的一个例子。您可以在执行地理围栏任务时使用此功能。

Windows.UI.Notifications.ToastTemplateType toastTemplate = Windows.UI.Notifications.ToastTemplateType.ToastText01;
Windows.Data.Xml.Dom.XmlDocument toastXml = Windows.UI.Notifications.ToastNotificationManager.GetTemplateContent(toastTemplate);

Windows.Data.Xml.Dom.XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
string toastMessage = "School service is fee miles away from home";
                        toastTextElements[0].AppendChild(toastXml.CreateTextNode(notificationmember.FullName + " " +toastMessage));

Windows.Data.Xml.Dom.IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
((Windows.Data.Xml.Dom.XmlElement)toastNode).SetAttribute("duration", "long");
((Windows.Data.Xml.Dom.XmlElement)toastNode).SetAttribute("launch", "Main.xaml);

Windows.UI.Notifications.ToastNotification toast = new Windows.UI.Notifications.ToastNotification(toastXml);
toast.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(36000);
//toast.SuppressPopup
toast.Failed += Toast_Failed; // handle faile state

Windows.UI.Notifications.ToastNotificationManager.CreateToastNotifier().Show(toast);

答案 2 :(得分:0)

它不能。

您无法在后台发送短信。

您唯一的选择是找到在您所在国家/地区发送免费短信的网络服务,并以这种方式发送短信。