2015-08-20 1 views
2

У меня есть Win 10 Universal App, в котором отображаются уведомления о тостах, основанные на различных событиях в приложении.Windows 10 Universal XAML Toast Уведомления

Моя проблема заключается в том, что уведомления о тостах отображаются только в том случае, когда приложение активно (оно не сводится к панели задач).

Мне нужно приложение для отображения уведомлений, когда я использую другие приложения. Мои настройки ниже: enter image description here

Toast Телефонный код:

private void DisplayNotification() 
     { 
      string toastXmlString = "<toast>" 
           + "<visual version='1'>" 
           + "<binding template='ToastText04'>" 
           + "<text id='1'>Header</text>" 
           + "<text id='2'>Line 1</text>" 
           + "<text id='3'>Line 2</text>" 
           + "</binding>" 
           + "</visual>" 
           + "</toast>"; 

      Windows.Data.Xml.Dom.XmlDocument toastDOM = new Windows.Data.Xml.Dom.XmlDocument(); 
      toastDOM.LoadXml(toastXmlString); 

      // Create a toast, then create a ToastNotifier object to show 
      // the toast 
      ToastNotification toast = new ToastNotification(toastDOM); 

      ToastNotificationManager.CreateToastNotifier().Show(toast); 
     } 

Кто-нибудь знает, почему это?

+0

Как вы отправляете свои тост-уведомления? От Azure, фоновая служба и т. Д. –

+0

Из универсального приложения Windows приложение обновляет данные с установленными интервалами и на основании результатов я хочу, чтобы они отображали некоторые тосты. –

+0

Как долго вы устанавливаете интервал в фоновом режиме? –

ответ

3

Для этого вам нужно создать новую BackgroundTask. Есть много доступных решений, но вот короткий список:

  1. Добавьте новый проект компонента Windows Runtime Component в решение.
  2. В манифесте в декларациях добавьте новую фоновое задание и выберите Push-уведомления и/или таймер.
  3. Установите точку входа, чтобы быть полностью квалифицированное имя (namespace.classname)
  4. Зарегистрируйте свою задачу при запуске приложения

    если (BackgroundTaskRegistration.AllTasks.Any (задача => task.Value.Name == TaskNameConst)) return;

    BackgroundTaskBuilder builder = new BackgroundTaskBuilder(); builder.Name = TaskNameConst; builder.TaskEntryPoint = TaskEntryPointConst; builder.SetTrigger (новый TimeTrigger (15, false)); builder.Register();

+0

Как видно из изображения возможностей выше, я не вижу никаких параметров Push/Timer. Приложение является универсальным Windows. –

+1

Список возможностей, который вы указали для самого приложения (показано на вкладке «Возможности» манифеста). В моих инструкциях используется вкладка деклараций для добавления новой фоновой задачи. Когда вы добавите его, вы увидите возможности самой задачи. –

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