2016-01-02 4 views
2

Я разрабатываю мобильное приложение, которое отправляет SMS-сообщение, когда устройство входит в конкретную геозонность в качестве фоновой задачи. Как отправить SMS-сообщение в фоновом режиме. Следующий код используется для отправки SMS в приложении, так как большинство ресурсов объясняет, что требует вмешательства человека. Как это можно сделать в фоновом режиме без каких-либо помех.Отправка 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); 
+0

Любое предложение, что я могу уведомить пользователя без отправки СМС? –

+0

Уведомление о тоста http://blog.rajenki.com/2014/04/trigger-background-task-using-geofence-windows-phone-8-1/ –

+0

Возможно ли отправить уведомление тоста на другие устройства? –

ответ

0

Не может.

Вы не можете отправить SMS в фоновом режиме.

Ваш единственный вариант - найти веб-сервис, который отправляет бесплатные SMS-сообщения в вашей стране и отправляет сообщения таким образом.

+0

Любое предложение, что я могу уведомить пользователя без отправки SMS-сообщения? –

+0

Как насчет уведомлений в Центре действий? – Filip

+0

Можно ли отправлять уведомления на другие устройства? –

1

Невозможно использовать chatmessage и отправить смс в фоновом режиме. Только работайте с веб-службой, например twilo, которая позволяет отправлять sms через вызов для отдыха.

+0

Любое предложение, что я могу уведомить пользователя без отправки SMS? –

1

Наилучший вариант для отправки уведомлений в этом случае - это уведомление тоста из фоновой задачи. здесь приведен пример уведомления о тосте. Вы можете использовать это, когда ваша задача для географов будет выполнена.

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); 
+0

Спасибо, что попробую. –

+0

@ThilinaAkalanka это сработало для вас? –

Смежные вопросы