다음을 통해 공유


LightSensor 클래스

정의

앰비언트 광원 판독값을 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
상속
Object Platform::Object IInspectable 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

주변 광원 센서가 새 센서 판독값을 보고할 때마다 발생합니다.

적용 대상

추가 정보