DeviceServicingTrigger 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示應用程式可以觸發的事件,以起始裝置 (韌體或設定) 長時間執行的更新。
Windows 8.1可讓您為透過 USB、HID 和藍牙通訊的周邊裝置開發 UWP 應用程式。 例如,使用者可能需要將電腦上的內容同步至裝置或從裝置同步處理,或執行裝置本身的長時間執行更新,例如設定或韌體更新。 Windows 8.1提供兩個背景工作和對應的 API,可讓您的裝置在背景同步和更新:DeviceServicingTrigger 和 DeviceUseTrigger。 本主題提供 DeviceServicingTrigger 的 API 參考資訊 - 如需在裝置應用程式內容中使用此觸發程式的資訊,請參閱 UWP 裝置應用程式的裝置同步和更新。
DeviceServicingTrigger 背景工作可讓您的 UWP app 與您的周邊裝置互動,以在 app 暫停時執行長時間執行的裝置更新,例如設定傳輸或韌體更新。 在背景更新您的裝置時,每次使用背景工作時,都需要使用者核准。 不同于 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時使用。
- 使用DeviceServicingTrigger的裝置更新,最多允許 30 分鐘 (時鐘) 背景活動
- 當您的應用程式不在前景時,不允許您的應用程式要求 DeviceServicingTrigger 背景工作。
- 您的應用程式一次只能執行一個 DeviceServicingTrigger 。 嘗試建立第二個 DeviceServicingTrigger 將會引發例外狀況。
- 電腦的電池必須剩餘超過 33% 的容量,或電腦必須在 A/C 電源上。
- 當這些原則需求不再符合時,Windows 可能會取消DeviceServicingTrigger背景工作,包括時鐘背景時間上限。
注意
想要使用 DeviceServicingTrigger 背景工作的 UWP app 也必須是裝置的特殊許可權應用程式。 應用程式許可權是由裝置製造商在周邊裝置的裝置中繼資料中指定。 當 UWP app 嘗試觸發 DeviceServicingTrigger 背景工作時,Windows 會驗證呼叫的應用程式是否為嘗試更新之裝置的特殊許可權應用程式。 如果應用程式沒有裝置的特殊許可權,Windows 將不會允許啟動背景工作。
如需 Windows 針對 DeviceServicingTrigger 背景工作強制執行的應用程式許可權和原則檢查的詳細資訊,請參閱 UWP 裝置應用程式的裝置同步和更新。
建構函式
DeviceServicingTrigger() |
DeviceServicingTrigger的建構函式。 不採用任何參數。 |
方法
RequestAsync(String, TimeSpan) |
觸發背景工作 (設定或韌體更新) ,並傳回 DeviceTriggerResult ,指出觸發程式要求成功或失敗。 採用 DeviceInformation.ID 字串,以及背景工作將執行的選擇性估計時間。 如果您的 app 無法判斷適當的時間估計值,請提供零作為估計時間。 |
RequestAsync(String, TimeSpan, String) |
觸發背景工作 (設定或韌體更新) ,並傳回 DeviceTriggerResult ,指出觸發程式要求成功或失敗。 取得 DeviceInformation.ID 字串、執行背景工作的選擇性估計時間,以及傳遞至背景工作的選擇性應用程式特定字串,以識別要執行的裝置作業。 如果您的 app 無法判斷適當的時間估計值,請提供零作為估計時間。 |