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
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Utilizzare le View Transition API di JavaScript
Building Custom Developer Agents
Azure SQL Database per dev: tutte le novità da non perdere
Gestione dei codeowners in GitHub
Integrazione di Copilot in .NET Aspire
Controllare la velocità di spostamento su una pagina HTML
Arricchire l'interfaccia di .NET Aspire
Blazor e InputHidden in .NET 10
Testare le API di Azure Resource Manager con API Playground
Cache temporanea in Javascript con oggetti
Integrare Agenti A2A in Azure API Management


