Xamarin.Essentials: Barometer

Třída Barometer umožňuje monitorovat snímač barometru zařízení, který měří tlak.

Začínáme

Pokud chcete začít používat toto rozhraní API, přečtěte si příručku Začínáme pro a ujistěte se, že je knihovna správně nainstalovaná a nastavená ve vašich projektech.

Použití Barometeru

Do třídy Xamarin.Essentials přidejte odkaz na :

using Xamarin.Essentials;

Funkce Barometer funguje tak, že volá metody a , aby naslouchaly změnám StartStop čtení tlaku barometru v hektopascalech. Všechny změny se posílají zpět prostřednictvím ReadingChanged události. Tady je ukázka použití:


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

Rychlost snímače

  • Nejrychlejší – získejte data snímačů co nejrychleji (nezaručuje vrácení ve vlákně uživatelského rozhraní).
  • Game – míra vhodná pro hry (nezaručuje se vrácení ve vlákně uživatelského rozhraní).
  • Výchozí – výchozí rychlost vhodná pro změny orientace obrazovky.
  • Uživatelské rozhraní – rychlost vhodná pro obecné uživatelské rozhraní.

Pokud není zaručeno spuštění obslužné rutiny události ve vlákně uživatelského rozhraní a obslužná rutina události potřebuje přístup k prvkům uživatelského rozhraní, použijte metodu ke spuštění tohoto kódu ve MainThread.BeginInvokeOnMainThread vlákně uživatelského rozhraní.

Specifika implementace platformy

Žádné podrobnosti implementace specifické pro platformu.

rozhraní API