BackgroundTaskBuilder 类

定义

表示要向系统注册的后台任务。

public ref class BackgroundTaskBuilder sealed
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
class BackgroundTaskBuilder final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class BackgroundTaskBuilder final
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
public sealed class BackgroundTaskBuilder
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.MTA)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class BackgroundTaskBuilder
function BackgroundTaskBuilder()
Public NotInheritable Class BackgroundTaskBuilder
继承
Object Platform::Object IInspectable BackgroundTaskBuilder
属性

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

注意

此类不是敏捷类,这意味着需要考虑其线程模型和封送处理行为。 有关详细信息,请参阅线程处理和封送处理 (C++/CX) 在多线程环境中使用 Windows 运行时 对象 (.NET)

如果后台任务需要网络连接,请注意以下事项:

** 网络相关触发器**

  • 在检索到程序包并且需要执行生存期较短的任务时,使用 SocketActivityTrigger 激活后台任务。 执行任务后,后台任务将会终止,以节省电量。
  • 在检索到程序包并且需要执行生存期较长的任务时,使用 ControlChannelTrigger 激活后台任务。

** 与网络相关的条件和标志**

  • InternetAvailable 条件 (BackgroundTaskBuilder.AddCondition) 添加到后台任务,以延迟触发后台任务,直到网络堆栈运行。 此条件可节省电源,因为后台任务在网络访问可用之前不会执行。 此条件不提供实时激活。

无论使用哪种触发器,请设置后台任务上的 IsNetworkRequested,以确保在后台任务运行时网络保持连接。 这将告知后台任务基础结构在执行任务时保持网络运行,即使设备已进入连接待机模式也是如此。 如果你的后台任务不使用 IsNetworkRequested,则当处于连接待机模式 ((例如,当手机的屏幕关闭时)时,后台任务将无法访问网络。)

版本历史记录

Windows 版本 SDK 版本 增值
1703 15063 TaskGroup
2004 19041 SetTaskEntryPointClsid

构造函数

BackgroundTaskBuilder()

创建 BackgroundTaskBuilder 类的实例。

属性

AllowRunningTaskInStandby

表示要向系统注册的后台任务。

CancelOnConditionLoss

指示如果不再满足后台任务所需的条件之一,是否取消后台任务。

IsNetworkRequested

指示在运行后台任务时是否保持网络正常运行。

IsRunningTaskInStandbySupported

表示要向系统注册的后台任务。

Name

获取或设置后台任务的名称。

TaskEntryPoint

获取或设置执行后台任务工作的类。

TaskGroup

获取并设置组标识符。

方法

AddCondition(IBackgroundCondition)

向后台任务添加条件。

Register()

向系统注册后台任务。

Register(String)

表示要向系统注册的后台任务。

SetTaskEntryPointClsid(Guid)

使用现有 BackgroundTaskBuilder 对象分配 COM CLSID 入口点。

SetTrigger(IBackgroundTrigger)

设置后台任务的事件触发器。

Validate()

表示要向系统注册的后台任务。

适用于