Xamarin.Essentials: Přichytát

Třída Předtuchometr umožňuje monitorovat senzor vichometru zařízení, který indikuje orientaci zařízení vzhledem k magnetickému poli Země.

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í Funkce Předtuchometr

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

using Xamarin.Essentials;

Funkce FunkciOnometer funguje tak, že volá metody a , aby Start naslouchala Stop změnám v krátkometru. Všechny změny se posílají zpět prostřednictvím ReadingChanged události. Tady je ukázka použití:


public class MagnetometerTest
{
    // Set speed delay for monitoring changes.
    SensorSpeed speed = SensorSpeed.UI;

    public MagnetometerTest()
    {
        // Register for reading changes.
        Magnetometer.ReadingChanged += Magnetometer_ReadingChanged;
    }

    void Magnetometer_ReadingChanged(object sender, MagnetometerChangedEventArgs e)
    {
        var data = e.Reading;
        // Process MagneticField X, Y, and Z
        Console.WriteLine($"Reading: X: {data.MagneticField.X}, Y: {data.MagneticField.Y}, Z: {data.MagneticField.Z}");
    }

    public void ToggleMagnetometer()
    {
        try
        {
            if (Magnetometer.IsMonitoring)
              Magnetometer.Stop();
            else
              Magnetometer.Start(speed);
        }
        catch (FeatureNotSupportedException fnsEx)
        {
            // Feature not supported on device
        }
        catch (Exception ex)
        {
            // Other error has occurred.
        }
    }
}

Všechna data se vrátí v μT (microteslas).

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

rozhraní API