Xamarin.Essentials:Baromètre
La classe Baromètre vous permet d’analyser le capteur du baromètre de l’appareil, qui mesure la pression.
Démarrage
Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.
Utilisation de Baromètre
Ajoutez une référence à Xamarin.Essentials votre classe :
using Xamarin.Essentials;
La fonctionnalité Baromètre appelle les méthodes Start
et Stop
qui permettent d’écouter les changements de lecture de la pression du baromètre en hectopascals. Toutes les variations peuvent être écoutées via l’événement ReadingChanged
. Voici un exemple d’utilisation :
public class BarometerTest
{
// Set speed delay for monitoring changes.
SensorSpeed speed = SensorSpeed.UI;
public BarometerTest()
{
// Register for reading changes.
Barometer.ReadingChanged += Barometer_ReadingChanged;
}
void Barometer_ReadingChanged(object sender, BarometerChangedEventArgs e)
{
var data = e.Reading;
// Process Pressure
Console.WriteLine($"Reading: Pressure: {data.PressureInHectopascals} hectopascals");
}
public void ToggleBarometer()
{
try
{
if (Barometer.IsMonitoring)
Barometer.Stop();
else
Barometer.Start(speed);
}
catch (FeatureNotSupportedException fnsEx)
{
// Feature not supported on device
}
catch (Exception ex)
{
// Other error has occurred.
}
}
}
Vitesse de capteur
- Le plus rapide : obtenir les données de capteur aussi rapidement que possible (aucune garantie de retour sur le thread d’interface utilisateur).
- Jeu : débit adapté aux jeux (aucune garantie de retour sur le thread d’interface utilisateur).
- Par défaut : taux par défaut adapté aux modifications d’orientation de l’écran.
- UI : débit adapté à une interface utilisateur général.
Si votre gestionnaire d’événements ne garantit pas l’exécution sur le thread d’interface utilisateur et si le gestionnaire d’événements doit accéder aux éléments de l’interface utilisateur, utilisez la méthode MainThread.BeginInvokeOnMainThread
pour exécuter ce code sur le thread d’interface utilisateur.