DeviceServicingTrigger 类

定义

表示应用程序可以触发的事件,以启动长时间运行的更新 (固件或设备设置) 。

Windows 8.1使你能够为通过 USB、HID 和蓝牙进行通信的外围设备开发 UWP 应用。 例如,用户可能需要将电脑上的内容同步到设备或从设备同步,或者对设备本身执行长时间运行的更新,如设置或固件更新。 Windows 8.1提供两个后台任务和相应的 API,允许设备在后台同步和更新:DeviceServicingTrigger 和 DeviceUseTrigger。 本主题提供 DeviceServicingTrigger 的 API 参考信息 - 有关在设备应用上下文中使用此触发器的信息,请参阅 UWP 设备应用的设备同步和更新

DeviceServicingTrigger 后台任务允许与外围设备交互的 UWP 应用在应用暂停时执行长时间运行的设备更新,例如设置传输或固件更新。 每次使用后台任务时,在后台更新设备都需要用户批准。 与 DeviceUseTrigger 后台任务不同,DeviceServicingTrigger 后台任务允许设备重启和断开连接,最多允许 30 分钟的后台活动。

重要

此触发器不能用于单进程后台任务。

public ref class DeviceServicingTrigger 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.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DeviceServicingTrigger final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class DeviceServicingTrigger 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.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DeviceServicingTrigger
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DeviceServicingTrigger
function DeviceServicingTrigger()
Public NotInheritable Class DeviceServicingTrigger
继承
Object Platform::Object IInspectable DeviceServicingTrigger
属性
实现

Windows 要求

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

注解

某些策略由 Windows 强制实施,以确保用户在更新其外围设备时获得同意。 此外还会强制执行其他策略,其目的是为了在同步和更新外围设备时维持用户的电池使用寿命。 DeviceServicingTrigger 后台任务受以下策略的约束:

注意

打算使用 DeviceServicingTrigger 后台任务的 UWP 应用也必须是设备的特权应用。 应用权限由设备制造商在外围设备的设备元数据中指定。 当 UWP 应用尝试触发 DeviceServicingTrigger 后台任务时,Windows 将验证调用应用是否是它尝试更新的设备的特权应用。 如果应用对设备不具有特权,则 Windows 将不允许启动后台任务。

有关 Windows 对 DeviceServicingTrigger 后台任务强制实施的应用权限和策略检查的详细信息,请参阅 UWP 设备应用的设备同步和更新

构造函数

DeviceServicingTrigger()

DeviceServicingTrigger 的构造函数。 不采用任何参数。

方法

RequestAsync(String, TimeSpan)

(设置或固件更新) 触发后台任务,并返回指示触发器请求成功或失败的 DeviceTriggerResult 。 获取 DeviceInformation.ID 字符串和后台任务运行的可选估计时间。 如果应用无法确定适当的时间估算,请提供零作为估计时间。

RequestAsync(String, TimeSpan, String)

(设置或固件更新) 触发后台任务,并返回指示触发器请求成功或失败的 DeviceTriggerResult 。 获取 DeviceInformation.ID 字符串、后台任务运行的可选估计时间,以及传递给后台任务的特定于应用的可选字符串,用于标识要执行的设备操作。 如果应用无法确定适当的时间估算,请提供零作为估计时间。

适用于

另请参阅