2016-01-18 10 views
0

Это может показаться странным вопросом, но есть ли способ отправить локальное уведомление о тостах из приложения Windows 8 Store на устройство - и НЕ показывать его на экране? У меня есть фоновая задача, которая должна отправить запрос синхронизации в поток пользовательского интерфейса. Я искал лучшую часть из 8 часов, пытаясь использовать разные методы для работы, и это сводится к тому, что это сработает для меня, но я не хочу, чтобы текст запроса отображался на экране, когда я его называю ,Приложение для Windows Store - уведомление о локальном тосте

Я также должен добавить, что Toast Notifications будет использоваться в приложении, поэтому я не могу просто отключить его глобально, мне нужны только те, которые я указываю, чтобы не отображаться, чтобы быть скрытыми. Это возможно?

В идеале я бы предпочел сделать Raw Notification, но я не могу понять, как сделать локальное Raw Notification (если его даже можно имитировать, не ударяя по моему API.).

EDIT: проблема с корнем Моя фоновая задача выполняет работу за кулисами каждые 15 минут - в основном отправлять запрос синхронизации в основное приложение. OnPushNotificationReceived, должен зафиксировать это и выполнить полную синхронизацию всех необходимых мне данных: например, координаты GPS, проверка соответствия «ToDoItems» ближайших дат и необходимость приоритетной эскалации и т. Д. Среди прочего, например, проверка наличия какие-либо документы в локальной файловой системе, которые были помечены как полная и должны быть загружены на Azure для хранения файлов и т.д.

+0

В чем проблема? Возможно, есть и другие решения. –

+0

Отредактировано немного больше информации о моей ситуации. – MorpheusZero

+0

Выполняется ли ваша фоновая задача в другом приложении или на сервере? Я не понимаю, почему вы не можете просто отправить сообщение в поток пользовательского интерфейса напрямую, не просматривая уведомления о тостах. –

ответ

1

ответ может быть в OnPushNotificationReceived (PushNotificationChannel отправителя, PushNotificationReceivedEventArgs аргументы)

args.Cancel = true 

От MSDN: https://msdn.microsoft.com/en-us/library/br241295
Отмена: Чтение/запись Получает или задает, должна ли Windows выполнять обработку уведомления по умолчанию.

Вы получаете уведомление и обрабатываете его в своем слушателе OnPushNotificationReceived, устанавливаете отмену на true и voila!
В основном вы уже обработали уведомление, поэтому вы отменили поведение по умолчанию, в котором отображается уведомление.

РЕДАКТИРОВАТЬ СОДЕРЖАНИЕ: Исходное уведомление в основном представляет собой пустой конверт, в котором вы можете разместить любой контент в любой форме, какой хотите, может быть объектом, изображением, словарем ... В основном вы решаете, что нужно отправлять и, приложение должно знать datamodel, чтобы иметь возможность обрабатывать его.

Для создания уведомления легко я рекомендую вам этот NuGet Пакет: https://github.com/WindowsNotifications/NotificationsExtensions/tree/master/Windows%208.1%20RT

Примера о том, как создать тост notifcation:

var toastNoti = ToastContentFactory.CreateToastText02(); 
toastNoti.TextHeading.Text = "TEXT IN BOLD"; 
toastNoti.TextBodyWrap.Text = "TEXT IN NORMAL CASE "; 
toastNoti.Launch = "NOTIFICATION ARGUMENTS";  
var doc = new XmlDocument(); 
doc.LoadXml(toastNoti.ToString()); 
var endNotification = new ToastNotification(doc); 
endNotification.Tag = "1"; 
ToastNotificationManager.CreateToastNotifier().Show(endNotification); 

Надеется, что это помогает. Скажите нам, пожалуйста, любой результат.