Xamarin.Essentials: Barometer

Mit der Klasse Barometer können Sie den Barometersensor des Geräts überwachen, der den Druck misst.

Erste Schritte

Lesen Sie zum Einstieg in die Verwendung dieser API den Leitfaden mit ersten Schritte für Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.

Verwenden des Barometers

Fügen Sie in Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:

using Xamarin.Essentials;

Die Barometerfunktionalität ruft die Methoden Start und Stop auf, um auf die Änderungen der Druckmesswerte des Barometers in Hektopascal zu lauschen. Änderungen werden über das ReadingChanged-Ereignis zurück gesendet. Sie können sie z.B. wie folgt verwenden:


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.
        }
    }
}

Sensorgeschwindigkeit

  • Schnellste: Ruft die Sensordaten so schnell wie möglich ab (in einem UI-Thread ist eine Rückgabe nicht garantiert).
  • Spiel: Für Spiele geeignete Übertragungsrate (in einem UI-Thread ist eine Rückgabe nicht garantiert).
  • Standard: Für Änderungen der Bildschirmausrichtung geeignete Standardübertragungsrate.
  • UI: Für allgemeine Benutzeroberflächenaktionen geeignete Übertragungsrate.

Wenn für Ihren Ereignishandler die Ausführung im UI-Thread nicht garantiert werden kann und der Ereignishandler auf Benutzeroberflächenelemente zugreifen muss, verwenden Sie die Methode MainThread.BeginInvokeOnMainThread, um diesen Code im UI-Thread auszuführen.

Besonderheiten bei der plattformspezifischen Implementierung

Keine plattformspezifischen Implementierungsangaben.

API