Usare il sensore di luminosità ambientale nelle Universal App

di Alessio Leoncini, in WinRT 8.1,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi