BackgroundTaskBuilder 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示要向系统注册的后台任务。
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
- 继承
- 属性
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() |
表示要向系统注册的后台任务。 |