Кнопка блокировки всплывающих уведомлений не работает на экране блокировки - PullRequest
0 голосов
/ 08 марта 2019

Я собираю музыкальный плеер в UWP. Кнопки действий на всплывающем уведомлении работают нормально, когда окна разблокированы. когда я заблокировал экран и нажал на кнопку действия, то ничего не происходит. Приложение будет в состоянии паузы, точки останова не будут получены.

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

Другая проблема, с которой я сталкиваюсь, - это когда пользователь нажимает кнопку «Далее», экран уведомления о предыдущих кнопках исчезает.

Как сохранить экран уведомлений Toasted на машине даже после того, как пользователь нажмет любую кнопку действия.

Код, который я использую для создания уведомления

var toastContent = new ToastContent
            {
                Launch= "",
                Visual = new ToastVisual
                {
                    BindingGeneric = new ToastBindingGeneric
                    {
                        Children =
                        {
                            new AdaptiveText
                            {
                                 HintWrap = false,
                            HintMaxLines = 1,
                            HintStyle = AdaptiveTextStyle.Title,
                                Text = "sdfsd"
                            },
                            new AdaptiveText
                            {
                                 HintWrap = false,
                            HintMaxLines = 1,
                            HintStyle = AdaptiveTextStyle.Caption,
                                Text = "text"
                            }
                        },

                        AppLogoOverride = new ToastGenericAppLogo()
                        {
                            Source = optionalLogoPath
                        }
                    }
                },
                Actions = new ToastActionsCustom()
                {
                    Buttons =
                {
                    new ToastButton("previous", new QueryString()
                    {
                        { "action", "previous" }

                    }.ToString() )
                    {
                        ActivationType= ToastActivationType.Foreground,
                        ImageUri = "prev-focus.png",

                    },
                    new ToastButton("Play", new QueryString()
                    {
                        { "action", "play" }

                    }.ToString() )
                    {
                        ActivationType= ToastActivationType.Foreground,
                        ImageUri = "play-focus.png",

                    },
                    new ToastButton("next", new QueryString()
                    {
                        { "action", "next" }

                    }.ToString() )
                    {
                        ActivationType= ToastActivationType.Background,
                        ImageUri = "next-focus.png"
                    },

                },
                }
            };

            var toast = new ToastNotification(toastContent.GetXml())
            {
                Tag = "some tag",
                SuppressPopup = false
            };

            toastNotifier.Show(toast);

Заранее спасибо

1 Ответ

0 голосов
/ 12 марта 2019

Наконец-то я заработал, используя метод protected override async void OnBackgroundActivated(BackgroundActivatedEventArgs args).

...