DeviceServicingTrigger 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示应用程序可以触发的事件,以启动长时间运行的更新 (固件或设备设置) 。
Windows 8.1使你能够为通过 USB、HID 和蓝牙进行通信的外围设备开发 UWP 应用。 例如,用户可能需要将电脑上的内容同步到设备或从设备同步,或者对设备本身执行长时间运行的更新,如设置或固件更新。 Windows 8.1提供两个后台任务和相应的 API,允许设备在后台同步和更新:DeviceServicingTrigger 和 DeviceUseTrigger。 本主题提供 DeviceServicingTrigger 的 API 参考信息 - 有关在设备应用上下文中使用此触发器的信息,请参阅 UWP 设备应用的设备同步和更新。
DeviceServicingTrigger 后台任务允许与外围设备交互的 UWP 应用在应用暂停时执行长时间运行的设备更新,例如设置传输或固件更新。 每次使用后台任务时,在后台更新设备都需要用户批准。 与 DeviceUseTrigger 后台任务不同,DeviceServicingTrigger 后台任务允许设备重启和断开连接,最多允许 30 分钟的后台活动。
- 有关 DeviceServicingTrigger 后台任务策略要求的更多详细信息,请参阅本页的部分。
- 有关使用 DeviceServicingTrigger 的信息,请参阅 UWP 设备应用的设备同步和更新。
- 有关使用 DeviceUseTrigger 的信息,请参阅 从后台任务访问传感器和设备。
重要
此触发器不能用于单进程后台任务。
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
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
注解
某些策略由 Windows 强制实施,以确保用户在更新其外围设备时获得同意。 此外还会强制执行其他策略,其目的是为了在同步和更新外围设备时维持用户的电池使用寿命。 DeviceServicingTrigger 后台任务受以下策略的约束:
- DeviceServicingTrigger 后台任务在每次触发时都需要用户同意。
- 你的设备必须与电脑连接或配对,并在请求 DeviceServicingTrigger 时可用。
- 允许应用最多 30 分钟 (挂钟) 设备更新的后台活动 与 DeviceServicingTrigger
- 当应用不在前台时,不允许应用请求 DeviceServicingTrigger 后台任务。
- 你的应用一次只能运行一个 DeviceServicingTrigger 。 尝试创建第二个 DeviceServicingTrigger 将引发异常。
- 电脑的电池剩余容量必须超过 33%,或者电脑必须使用 A/C 电源。
- 当这些策略要求不再满足(包括最大时钟后台时间)时,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 字符串、后台任务运行的可选估计时间,以及传递给后台任务的特定于应用的可选字符串,用于标识要执行的设备操作。 如果应用无法确定适当的时间估算,请提供零作为估计时间。 |