Поделиться через


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)

Примеры

См. пример внедрения в примере с датчиком света.

Комментарии

В следующем примере показано, как приложение UWP, созданное с помощью XAML и C#, использует метод GetDefault для установки подключения к датчику освещения. Если встроенный датчик освещения не найден, метод вернет значение NULL.

_sensor = LightSensor.GetDefault();

В следующем примере показано, как приложение UWP, созданное с помощью XAML, регистрирует обработчик событий 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

Происходит каждый раз, когда датчик окружающего света сообщает о новых показаниях датчика.

Применяется к

См. также раздел