在UWP中扩展执行

时间:2017-06-14 18:12:59

标签: c# uwp windows-10-mobile

我想为我的UWP应用程序使用后台任务。

以下代码,是我在windows mobile中的后退按钮点击事件 -

private async void MainPage_BackRequested(object sender, BackRequestedEventArgs e)
{
   var access= await BackgroundExecutionManager.RequestAccessAsync();
    var task = new BackgroundTaskBuilder
    {
        Name="My task",TaskEntryPoint=typeof(backGroundTask.Class1).ToString()
    };
    trigger = new ApplicationTrigger();
    task.SetTrigger(trigger);
    task.Register();
    //var result = await trigger.RequestAsync();
    if (Frame.CanGoBack)
    {
        Frame.GoBack();
        e.Handled = true;
    }
}


public void Run(IBackgroundTaskInstance taskInstance)
{
    _deferral = taskInstance.GetDeferral();
    clearData();
    count1 = 0;
    getDownloadedSongs();

    dispatcherTimer1.Tick += DispatcherTimer1_Tick;
    dispatcherTimer1.Interval = new TimeSpan(0, 0, 3);
    dispatcherTimer1.Start();
    _deferral.Complete();



}
DispatcherTimer dispatcherTimer1 = new DispatcherTimer();

 private async void DispatcherTimer1_Tick(object sender, object e)
{

    try
    {
          clearData();

    }
    catch (Exception ex)
    {
    }
}

在uwp中进行扩展执行的方法是什么..特别是对于windows mobile 10

2 个答案:

答案 0 :(得分:2)

ExtendedExecution将允许您在被暂停之前继续运行并完成任务。请查看official sample的ExtendedExecution

答案 1 :(得分:0)

扩展执行已经进行了很长时间的讨论。即使最小化,您也绝对可以继续执行应用程序。我还没有可用的示例,但是您可以通过查看链接here

来获得一些见解。