UWP блокирует некоторые уведомления, когда приложение находится в фоновом режиме - PullRequest
0 голосов
/ 13 февраля 2019

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

var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
channel.PushNotificationReceived += Channel_PushNotificationReceived;

И позже:

private void Channel_PushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
{
    if (args?.NotificationType == PushNotificationType.Toast)
    {
        if (string.IsNullOrWhiteSpace(args.ToastNotification?.Content?.InnerText))
        {
            args.Cancel = true;
        }
    }
}

Но я понятия не имею, как это сделать, когда приложение выключено,Я попробовал Notification Listener, но я получаю доступ к уведомлениям только тогда, когда они уже представлены.

У меня вопрос, как заблокировать некоторые уведомления, когда приложение находится в фоновом режиме?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Поскольку я использую Центр уведомлений Azure, я не могу использовать Raw Push-уведомления.В конце концов я добавил тег с семейством устройств (uwp, android, ios) и отправил уведомление из хаба с использованием синтаксиса tag && !uwp, который отправляет определенное уведомление везде, но не на uwp.

0 голосов
/ 13 февраля 2019

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

...