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
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Sostituire la GitHub Action di login su private registry
Utilizzare i primary constructor di C# per inizializzare le proprietà
Utilizzare politiche di resiliency con Azure Container App
Utilizzare database e servizi con gli add-on di Container App
Gestire liste di tipi semplici con Entity Framework Core
Ordinare randomicamente una lista in C#
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Gestire la cancellazione di una richiesta in streaming da Blazor
Utilizzare gRPC su App Service di Azure