0

我正在开发一个表面集线器应用程序,其中当应用程序进入后台时我正在运行一个计时器。在特定时间点,我需要在屏幕中央显示一个弹出窗口,无论应用程序状态如何 - 最小化或活动。

我怎样才能做到这一点?

4

1 回答 1

0

如果您使用时间触发器注册进程内后台任务,则每次触发的后台任务都会调用该OnBackgroundActivated事件。因此,您可以在此事件中定义弹出代码。无论您的应用程序是最小化还是处于活动状态,都会触发进程中的后台任务。例如:

登记:

public MainPage()
{
   this.InitializeComponent();
   var builder = new BackgroundTaskBuilder();
   builder.Name = "My Background Trigger";
   builder.SetTrigger(new TimeTrigger(15, true));      
   BackgroundTaskRegistration task = builder.Register();
}

覆盖OnBackgroundActivated事件并显示一个简单的弹出窗口。

protected async override void OnBackgroundActivated(BackgroundActivatedEventArgs args)
{
    base.OnBackgroundActivated(args);
    await new Windows.UI.Popups.MessageDialog("test").ShowAsync();
    //DoBackgroundWork(args.TaskInstance);
}
于 2017-05-31T07:24:34.983 回答