Как можно программно удалить всплывающее уведомление UWP, которое было запущено в режиме блокировки экрана? - PullRequest
0 голосов
/ 23 мая 2018

Я запускаю тост-уведомление из фона или с переднего плана.Когда уведомление было запущено, когда приложение находится на переднем плане, я могу скрыть уведомление, используя:

_ToastNotifier.Hide(notification);

Но когда уведомление было запущено из фона, оно не скрывает уведомление от экрана иэто продолжает звонить тревогу.Я хотел бы скрыть уведомление, когда приложение активировано.

Кроме того, удаление с помощью ToastNotificationManager.History.Remove(tag); не работает для меня.

Чтобы увидеть сбой, выполните следующие действия:

  1. Запустите приложение.

  2. Заставьте планшет спать (меню Пуск> power> sleep или используйте кнопку сна в планшете).

  3. Разбуди планшет.

  4. Находясь на экране блокировки, отправьте в приложение уведомление с другого устройства / сервера.

  5. Вы услышите звук уведомления.

  6. Откройте приложение на панели задач, не активируйте уведомление.Это та часть, где я хочу скрыть уведомление, приложение открыто, и мне не нужно уведомление в нижней правой части экрана.Уведомление не исчезнет, ​​пока вы не нажмете на него, что очень неудобно.

Обновление: не имеет значения, находится ли оно в фоновом режиме или на переднем плане.Пока уведомление получено, когда на экране блокировки ". Пожалуйста, см. Шаги.

Обратите внимание, что в этом уведомлении о тосте есть зацикливание звука и script =" InputCall ".

1 Ответ

0 голосов
/ 23 мая 2018

Если вы хотите удалить уведомление, просто позвоните

ToastNotificationManager.History.Remove("tagOfNotification");

. Вам нужно будет указать Tag (и, возможно, Group) в своем уведомлении, чтобы вы могли его идентифицировать иудали его.

var toast = new ToastNotification(xml);
toast.Tag = "tag1";

// Send the toast
...