我正在开发一个表面集线器应用程序,其中我在应用程序进入后台时运行计时器。 在特定时间点,我需要在屏幕中央显示一个弹出窗口,无论应用程序状态如何 - 最小化或活动。
我怎样才能做到这一点?
答案 0 :(得分:0)
如果您使用时间触发器注册in-process background task,则每次触发后台任务时都会调用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);
}