PointOfService 디바이스 개체
주변 디바이스의 읽기 전용 속성에 대한 액세스 권한을 부여하고 UWP(Universal Windows Platform) 응용 프로그램에서 단독으로 사용할 주변 장치를 요청하는 PointOfService 디바이스 개체를 만드는 방법을 알아봅니다.
디바이스 개체 만들기
새롭게 열거 또는 저장된 DeviceID에서 사용할 PointOfService 디바이스를 식별했으면 FromIdAsync를 프로그래밍 방식으로 선택하거나 사용자가 선택한 DeviceID와 함께 호출하여 새 서비스 포인트 디바이스 개체를 만듭니다.
이 샘플은 DeviceID를 사용하여 FromIdAsync로 새 BarcodeScanner 개체 만들기를 시도합니다. 개체 만드는 데 실패한 경우 디버그 메시지가 기록됩니다.
BarcodeScanner barcodeScanner = await BarcodeScanner.FromIdAsync(DeviceId);
if(barcodeScanner != null)
{
// after successful creation, claim the scanner for exclusive use and enable it to exchange data
}
else
{
Debug.WriteLine("Failure to create barcodeScanner object");
}
디바이스 개체가 있으면 디바이스의 메서드, 속성 및 이벤트에 액세스할 수 있습니다.
디바이스 개체 수명 주기
Windows 8 이전까지는 앱의 수명 주기가 단순했습니다. Win32 및 .NET 앱은 실행되거나 실행되지 않으며 일반적으로 PointOfService 주변 장치는 전체 앱 수명 주기에 대해 클레임되었습니다. 사용자가 이 앱들을 최소화하거나 다른 앱으로 전환하더라도, 해당 앱들은 계속 실행됩니다. 휴대용 디바이스 및 전원 관리의 중요성이 점점 더 높아지기 전까지는 아무 문제가 없었습니다.
Windows 8에서는 UWP 앱을 사용하는 새 애플리케이션 모델이 도입되었습니다. 새로운 일시 중단 상태가 높은 수준에서 추가되었습니다. UWP 앱은 사용자가 앱을 최소화하거나 다른 앱으로 전환하는 즉시 일시 중단됩니다. 즉, 앱의 스레드가 중지되면 운영 체제가 리소스를 확보해야 하지 않는 이상 앱은 메모리에 남고 PointOfService 주변 장치를 나타내는 모든 디바이스 개체는 다른 애플리케이션이 주변 디바이스에 액세스할 수 있도록 자동으로 닫힙니다. 사용자가 앱으로 전환하면 신속하게 실행 상태로 복원할 수 있으며 다시 시작할 때 계속 사용할 수 있는 경우 PointOfService 주변 장치 연결을 복원합니다.
어떤 이유로든 <DeviceObject>.Closed 이벤트 처리기로 개체가 닫힐 때를 감지할 수 있습니다. 그런 다음, 나중에 연결을 다시 설정하기 위해 디바이스 ID를 기록합니다. 또는 앱 다시 시작 알림 시 디바이스 연결을 재설정하기 위해 디바이스 ID를 저장하도록 앱 일시 중단 알림에서 이를 처리하고자 할 수 있습니다. 이벤트 처리기에서 중복 수행하지 않고 <DeviceObject>.Closed 및 앱 일시 중단 모두에서 디바이스 개체에 대한 작업을 중복으로 수행하지 않도록 합니다.
팁
Windows 10 UWP(Universal Windows Platform) 애플리케이션 수명 주기에 대한 자세한 정보는 다음의 항목을 참조하세요.