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
Utilizzare Copilot con Azure Cosmos DB
Anonimizzare i dati sensibili nei log di Azure Front Door
Potenziare la ricerca su Cosmos DB con Full Text Search
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Usare le navigation property in QuickGrid di Blazor
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Generare una User Delegation SAS in .NET per Azure Blob Storage
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Utilizzare una qualunque lista per i parametri di tipo params in C#
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Eseguire i worklow di GitHub su runner potenziati