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
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Gestione dell'annidamento delle regole dei layer in CSS
Eseguire i worklow di GitHub su runner potenziati
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Utilizzare una qualunque lista per i parametri di tipo params in C#
Cancellare una run di un workflow di GitHub
Potenziare la ricerca su Cosmos DB con Full Text Search
Creare un webhook in Azure DevOps
Cambiare la chiave di partizionamento di Azure Cosmos DB
Loggare le query più lente con Entity Framework