In WinRT possiamo interagire con i sensori dei device in modo estremamente semplice, il namespace Windows.Devices.Sensors espone una serie di classi che ci permettono l'accesso a tali sensori per recuperare informazioni dall'ambiente.
Con la classe LightSensor possiamo accedere al sensore di luce ambientale con il suo metodo statico GetDefault; con l'evento ReadingChanged possiamo intercettare il cambiamento di luminosità nell'ambiente registrato dal sensore.
var sensor = LightSensor.GetDefault(); if (sensor == null) return; sensor.ReadingChanged += (LightSensor sender, LightSensorReadingChangedEventArgs args) => { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { textBlock1.Text = String.Format("Lux {0,5:0.00}", args.Reading.IlluminanceInLux); }); };
E' sempre importante verificare che l'istanza restituita da GetDefault non sia null, che si può verificare se il device non ha tale sensore.
Tra i parametri del metodo gestore dell'evento abbiamo LightSensorReadingChangedEventArgs che ci restituisce il valore corrente registrato dal sensore in termini di Lux, con un valore da 0 a 100.000 rispettivamente per buio completo e luce assoluta.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Reactive form tipizzati con FormBuilder in Angular
Installare le Web App site extension tramite una pipeline di Azure DevOps
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Cambiare la chiave di partizionamento di Azure Cosmos DB
Gestire undefined e partial nelle reactive forms di Angular
Disabilitare automaticamente un workflow di GitHub
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Sfruttare al massimo i topic space di Event Grid MQTT
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Sfruttare lo streaming di una chiamata Http da Blazor
C# 12: Cosa c'è di nuovo e interessante
Utilizzare le collection expression in C#