Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UWP c#应用程序具有两种可用的未激活侦听器-通过通知激活_C#_Notifications_Uwp_Windows 10 Universal_Background Task - Fatal编程技术网

UWP c#应用程序具有两种可用的未激活侦听器-通过通知激活

UWP c#应用程序具有两种可用的未激活侦听器-通过通知激活,c#,notifications,uwp,windows-10-universal,background-task,C#,Notifications,Uwp,Windows 10 Universal,Background Task,目前在我的应用程序中,我正在注册一个onActivated listener,以执行并检查我的共享活动,如下所示: Window.Current.Activated += Current_Activated; 使用以下方法检查激活状态: private async void Current_Activated(object sender, Windows.UI.Core.WindowActivatedEventArgs e) { if (e.WindowActi

目前在我的应用程序中,我正在注册一个onActivated listener,以执行并检查我的共享活动,如下所示:

        Window.Current.Activated += Current_Activated;
使用以下方法检查激活状态:

private async void Current_Activated(object sender, Windows.UI.Core.WindowActivatedEventArgs e)
        {
if (e.WindowActivationState == CoreWindowActivationState.Deactivated)
            {

            }
            else
            {}                       }
现在,我想通过来自后台任务的通知实现激活。单击通知当前正在打开应用程序,如果已经打开,则会将其带到前台。这是标准行为。现在我想通过通知执行一些激活代码,但我的方法从未被调用,我也不完全理解微软的在线材料,因为它看起来相对简单

我正在将侦听器注册为:

        (Application.Current as App).Activated = new EventHandler<IActivatedEventArgs>(App_Activated);
那两个互相冲突吗?我是否可以在现有方法中实现通知激活

我已经通读了这篇文章和更多的文章:


即使是从我下载的测试应用程序中,我也不知道需要做什么。此外,我不需要将通知中的任何信息传递给主要活动。只需打开它并执行一个刷新页面的命令,但只能在激活通知时执行

您应该在
App.xaml.cs
中重写
OnActivated(IActivatedEventArgs args)
方法,并检查
args.Kind
属性是否为
ActivationKind.ToastNotification


您可以找到有关处理UWP应用程序激活的更多信息。

您只需在
app.xaml.cs
中覆盖
OnActivated(IActivatedEventArgs args)
方法,并检查
args.Kind
属性是否为
ActivationKind.ToastNotification


您可以找到有关处理UWP应用程序激活的更多信息。

正如Marian所说,您需要覆盖
app.xaml.cs
类中的
OnActivated
方法。单击toast时会调用
OnActivated
方法,该方法包含toast参数,以便您知道单击了什么toast。请注意,您必须在OnActivated中执行与OnLaunched相同的帧初始化,因为如果用户在应用程序关闭时单击toast,则只会调用OnActivated方法-不会调用OnLaunched方法


此快速入门准确地解释了如何处理toast激活,并包含完整的代码示例:

正如Marian所说,您需要覆盖
App.xaml.cs
类中的
OnActivated
方法。单击toast时会调用
OnActivated
方法,该方法包含toast参数,以便您知道单击了什么toast。请注意,您必须在OnActivated中执行与OnLaunched相同的帧初始化,因为如果用户在应用程序关闭时单击toast,则只会调用OnActivated方法-不会调用OnLaunched方法


此快速入门准确解释了如何处理toast激活,并包含完整的代码示例:

ahhh。就这样。我没有意识到我必须在app.xaml.cs中覆盖它。我试图在我的应用程序主页上覆盖它。谢谢。就这样。我没有意识到我必须在app.xaml.cs中覆盖它。我试图在我的应用程序主页上覆盖它。谢谢
private void App_Activated(object sender, IActivatedEventArgs e)
        {                                                        }