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