다음을 통해 공유


DeviceServicingTrigger 클래스

정의

애플리케이션이 디바이스의 장기 실행 업데이트(펌웨어 또는 설정)를 시작하기 위해 트리거할 수 있는 이벤트를 나타냅니다.

Windows 8.1 USB, HID 및 Bluetooth를 통해 통신하는 주변 장치용 UWP 앱을 개발할 수 있습니다. 예를 들어 사용자는 PC의 콘텐츠를 디바이스와 동기화하거나 설정 또는 펌웨어 업데이트와 같이 디바이스 자체에 대한 장기 업데이트를 수행해야 할 수 있습니다. 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 백그라운드 작업은 트리거될 때마다 사용자 동의가 필요합니다.
  • 디바이스를 PC와 연결하거나 페어링해야 하며 DeviceServicingTrigger를 요청할 때 사용할 수 있어야 합니다.
  • DeviceServicingTrigger를 사용하여 디바이스 업데이트에 대한 백그라운드 작업의 최대 30분(벽시계)이 앱에 허용됩니다.
  • 앱이 포그라운드에 없는 동안에는 앱이 DeviceServicingTrigger 백그라운드 작업을 요청할 수 없습니다.
  • 앱은 한 번에 하나의 DeviceServicingTrigger 만 실행할 수 있습니다. 두 번째 DeviceServicingTrigger를 만들려고 하면 예외가 발생합니다.
  • PC의 배터리 용량이 33% 이상 남아 있거나 PC가 A/C 전원에 있어야 합니다.
  • 최대 벽시계 배경 시간을 포함하여 이러한 정책 요구 사항이 더 이상 충족되지 않으면 Windows에서 DeviceServicingTrigger 백그라운드 작업을 취소할 수 있습니다.

참고

DeviceServicingTrigger 백그라운드 작업을 사용하려는 UWP 앱도 디바이스에 대한 권한 있는 앱이어야 합니다. 앱 권한은 디바이스 제조업체가 주변 디바이스에 대한 디바이스 메타데이터에 지정합니다. UWP 앱이 DeviceServicingTrigger 백그라운드 작업을 트리거하려고 하면 Windows는 호출 앱이 업데이트하려는 디바이스에 대한 권한 있는 앱인지 확인합니다. 앱이 디바이스에 대한 권한이 없는 경우 Windows는 백그라운드 작업을 시작할 수 없습니다.

DeviceServicingTrigger 백그라운드 작업에 대해 Windows에서 적용하는 앱 권한 및 정책 검사에 대한 자세한 내용은 UWP 디바이스 앱에 대한 디바이스 동기화 및 업데이트를 참조하세요.

생성자

DeviceServicingTrigger()

DeviceServicingTrigger용 생성자입니다. 매개 변수를 사용하지 않습니다.

메서드

RequestAsync(String, TimeSpan)

백그라운드 작업(설정 또는 펌웨어 업데이트)을 트리거하고 트리거 요청의 성공 또는 실패를 나타내는 DeviceTriggerResult 를 반환합니다. DeviceInformation.ID 문자열과 백그라운드 작업이 실행될 예상 시간(선택 사항)을 사용합니다. 앱에서 적절한 시간 예상 시간을 확인할 수 없는 경우 0을 예상 시간으로 제공합니다.

RequestAsync(String, TimeSpan, String)

백그라운드 작업(설정 또는 펌웨어 업데이트)을 트리거하고 트리거 요청의 성공 또는 실패를 나타내는 DeviceTriggerResult 를 반환합니다. DeviceInformation.ID 문자열, 백그라운드 작업이 실행되는 선택적 예상 시간 및 수행할 디바이스 작업을 식별하는 백그라운드 작업에 전달되는 선택적 앱별 문자열을 사용합니다. 앱에서 적절한 시간 예상 시간을 확인할 수 없는 경우 0을 예상 시간으로 제공합니다.

적용 대상

추가 정보