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
Esporre workflow come server MCP con Azure Logic Apps
Testare il failover sulle region in Azure Storage
Gestire gli errori nelle Promise JavaScript con try()
Definire il colore di una scrollbar HTML tramite CSS
Ridimensionamento automatico input tramite CSS
Usare i generics di C# con la clausola nameof in modo semplificato
Gestione ciclo di vita in .NET Aspire
Mappare una complex property di una entity su un campo JSON
Supporto nativo a JSON in SQL Server 2025
Centralizzare gli endpoint AI Foundry con Azure API Management
Usare il metodo nameof con un tipo generico in C# 14
Ridurre il reflow cambiando il CSS




