防止主窗口专注于应用激活

时间:2019-11-15 20:41:39

标签: c# windows uwp

如何防止已经运行的UWP应用在被其生成的通知激活后被带到前台?我已经尝试过以下代码:

sealed partial class App : Application
{
    public static bool ShouldActivate = true;
    protected override void OnLaunched(LaunchActivatedEventArgs e)
    { 
        Frame rootFrame = Window.Current.Content as Frame; 
        if (rootFrame == null)
        { 
            rootFrame = new Frame(); 
            rootFrame.NavigationFailed += OnNavigationFailed; 
            Window.Current.Content = rootFrame;
        }

        if (e.PrelaunchActivated == false)
        {
            if (rootFrame.Content == null)
            { 
                rootFrame.Navigate(typeof(MainPage), e.Arguments);
            } 
            if (ShouldActivate)
                Window.Current.Activate(); 
        }
    }
    protected override async void OnActivated(IActivatedEventArgs args)
    {
        if (args.Kind == ActivationKind.ToastNotification)
        { 
             ShouldActivate = false; 
        }
    }
}

但是它不起作用,当我单击通知时,主窗口再次获得焦点。

0 个答案:

没有答案
相关问题