次の方法で共有


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

アンビエントライト センサーが新しいセンサーの読み取り値を報告するたびに発生します。

適用対象

こちらもご覧ください