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
Creare form tipizzati con Angular
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Controllare gli accessi IP alle app con Azure Container Apps
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Usare lo spread operator con i collection initializer in C#
Utilizzare ChatGPT con Azure OpenAI
Miglioramenti nell'accessibilità con Angular CDK
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Copiare automaticamente le secret tra più repository di GitHub
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Eseguire operazioni sui blob con Azure Storage Actions