即使应用程序进入暂停或终止状态,也要继续操作

时间:2018-03-07 10:21:22

标签: c# uwp uwp-xaml xamarin.uwp

我是UWP的新手,我现在面临的一个问题是,我希望在进入暂停或终止状态之前继续应用程序正在进行的操作。

我已经阅读了有关扩展执行和后台任务的内容,但据我所知,对于扩展执行,你只有30秒才能终止它,或者在进入它之前可以撤销它。

对于后台任务我应该为它做另一个项目(Windows运行时组件),我必须在appxmanifest的声明中添加一个条目。听起来后台任务是实现它的唯一可行方法,但是如果应用程序进入这些状态以及恢复后应该发生什么,如何将操作(Action,Func或任务或其他)移动到后台任务?!

有经验的人有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Windows 10通用Windows平台(UWP)应用生命周期

在Windows 8之前,应用程序的生命周期很短。 Win32和.NET应用程序正在运行或未运行。现在,UWP应用程序中有三个应用程序模型在前台运行在后台运行暂停状态。您可以通过此official document了解更多详细信息。

延期执行

  

有些应用可能需要在最小化时继续运行而不是暂停。如果应用程序需要继续运行,则操作系统可以使其保持运行,或者它可以请求继续运行。

对于这种情况,您需要使用ExtendedExecution来实现。 ExtendedExecution支持启动长时间运行以推迟暂停状态。并且有一些documentcode sample引入了此功能。

后台任务

对于Background Task,它会在您的应用暂停未投放时提供相应功能。您还可以将后台任务用于实时通信应用程序,如VOIP,邮件和IM。但是,它会在特定条件下触发。有关详情,请参阅this

您已经在案例中提到过程Background Task,而另一个Background Task (in process)也可以在UWP应用中使用。它比进程外后台任务更容易实现。