UWP c#应用程序具有两种可用的未激活侦听器-通过通知激活
目前在我的应用程序中,我正在注册一个onActivated listener,以执行并检查我的共享活动,如下所示: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
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)
{ }