LightSensor 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
앰비언트 광원 판독값을 LUX 값으로 제공하는 앰비언트 광원 센서를 나타냅니다.
public ref class LightSensor sealed
/// [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 LightSensor final
[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 LightSensor
Public NotInheritable Class LightSensor
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
예제
구현의 예는 광원 센서 샘플을 참조하세요.
설명
다음 예제에서는 XAML 및 C#으로 빌드된 UWP 앱이 GetDefault 메서드를 사용하여 광원 센서에 대한 연결을 설정하는 방법을 보여 줍니다. 통합 광원 센서가 없으면 메서드는 null 값을 반환합니다.
_sensor = LightSensor.GetDefault();
다음 예제에서는 XAML로 빌드된 UWP 앱이 ReadingChanged 이벤트 처리기를 등록하는 방법을 보여 줍니다.
private void ScenarioEnable(object sender, RoutedEventArgs e)
{
if (_sensor != null)
{
// Establish the report interval
_sensor.ReportInterval = _desiredReportInterval;
Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
_sensor.ReadingChanged += new TypedEventHandler<LightSensor, LightSensorReadingChangedEventArgs>(ReadingChanged);
ScenarioEnableButton.IsEnabled = false;
ScenarioDisableButton.IsEnabled = true;
}
else
{
rootPage.NotifyUser("No light sensor found", NotifyType.StatusMessage);
}
}
다음 예제에서는 ReadingChanged 이벤트 처리기를 보여줍니다.
async private void ReadingChanged(object sender, LightSensorReadingChangedEventArgs e)
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
LightSensorReading reading = e.Reading;
ScenarioOutput_LUX.Text = String.Format("{0,5:0.00}", reading.IlluminanceInLux);
});
}
버전 기록
Windows 버전 | SDK 버전 | 추가된 값 |
---|---|---|
1709 | 16299 | FromIdAsync |
1709 | 16299 | GetDeviceSelector |
1709 | 16299 | MaxBatchSize |
1709 | 16299 | ReportLatency |
2004 | 19041 | ReportThreshold |
속성
DeviceId |
디바이스 식별자를 가져옵니다. |
MaxBatchSize |
센서에서 일괄 처리할 수 있는 최대 이벤트 수를 가져옵니다. |
MinimumReportInterval |
센서에서 지원하는 최소 보고서 간격을 가져옵니다. |
ReportInterval |
주변 광원 센서의 현재 보고서 간격을 가져오거나 설정합니다. |
ReportLatency |
센서 정보의 일괄 처리 사이의 지연을 가져오거나 설정합니다. |
ReportThreshold |
광원 센서에 대한 LightSensorDataThreshold를 가져옵니다 . |
메서드
FromIdAsync(String) |
식별자에서 센서를 비동기적으로 가져옵니다. |
GetCurrentReading() |
현재 주변 광원 센서 판독값을 가져옵니다. |
GetDefault() |
기본 앰비언트 광원 센서를 반환합니다. |
GetDeviceSelector() |
디바이스 선택기를 가져옵니다. |
이벤트
ReadingChanged |
주변 광원 센서가 새 센서 판독값을 보고할 때마다 발생합니다. |