사용자 권한 관리
센서 API는 센서 또는 센서 컬렉션을 사용할 수 있는 권한을 사용자에게 요청하는 데 사용할 수 있는 방법을 제공합니다.
센서는 중요한 정보를 표시할 수 있으므로 프로그램이 데이터에 액세스하기 전에 사용자가 센서를 사용하도록 설정해야 합니다.
사용 권한이 SENSOR_STATE_ACCESS_DENIED인 현재 SensorState 센서를 사용하고 싶다면, 권한을 요청해야 할 수 있습니다.
권한을 요청하려면 ISensorManager::RequestPermissions 메서드를 호출합니다. 이 메서드를 호출하면 Windows에서 센서 사용 대화 상자를 열어 사용자가 요청한 센서를 사용하도록 설정하라는 메시지를 표시합니다. 이 대화 상자는 사용자가 요청한 센서의 이름을 사용자에게 제공합니다. 사용자는 다음 옵션 중 하나를 선택할 수 있습니다.
- 이러한 센서사용하도록 설정합니다.
- 이러한 센서사용하도록 설정하지 마세요.
- 추가 옵션을 보려면 제어판 열기를.
사용자가 이러한 센서를 사용하지 않도록선택하면, 프로그램에서 RequestPermissions호출해도 특정 센서에 대한 센서 사용 대화 상자가 다시 표시되지 않습니다. 사용자가 다른 옵션을 선택하면 Windows에서 요청 시 대화 상자를 표시할 수 있습니다. RequestPermissions 호출에 사용자가 이전에 사용하지 않도록 설정한 일부 센서가 포함되어 있으면 센서 API는 사용자가 보는 센서 목록에서 이러한 센서를 제거합니다.
모달 또는 비모달 동작
RequestPermissions 메서드는 센서 활성화 대화 상자가 모달 또는 모달리스 창으로 표시되는지 여부를 결정하는 부울 인수를 사용합니다. 이 설정은 대화 상자 반환 코드의 동작이 동기 코드인지 비동기인지에도 영향을 줍니다.
모달 대화 상자는 사용자가 옵션을 선택할 때까지 애플리케이션 창 중에서 포커스를 독점하며, RequestPermissions에 대한 호출에서 반환되는 HRESULT 코드가 사용자의 선택을 나타냅니다. 모달리스인 경우, 대화 상자는 독점적인 포커스를 가지지 않으며 RequestPermissions에 대한 호출이 즉시 반환됩니다. 이 경우 반환 코드는 메서드가 성공했는지 여부를 나타내지만 사용자의 선택을 확인하는 데 사용할 수 없습니다. 그런 다음, OnStateChanged 이벤트를 처리하고 각 센서가 SENSOR_STATE_READY인지 확인하여 활성화된 센서를 결정할 수 있습니다.
반환 코드에 대한 자세한 내용은 RequestPermissions 참조 페이지를 참조하세요.
모범 사례: RequestPermissions에 대한 여러 모덜리스 호출 방지
RequestPermissions 대한 반복된 모달리스 호출은 이러한 센서를 활성화 대화 상자의 여러 인스턴스를 표시하며, 대화 상자가 화면을 가득 채워 사용자 경험이 저하될 수 있습니다. RequestPermissions대한 첫 번째 호출 후 다른 위치 센서가 설치되어 RequestPermissions에 또 다른 호출이 필요할 경우, 모달 방식으로 RequestPermissions를 호출하거나 모든 위치 센서가 설치될 때까지 기다려 모덜리스 방식으로 호출해야 합니다.
관련 항목
-
센서 및 위치 플랫폼 개인 정보 보호 및 보안