Xamarin.Essentials: Ölçümölçer

Ometerometer sınıfı, cihazın dünya manyetik alanına göre yönünü gösteren cihazın ölçer algılayıcısını izlemenizi sağlar.

başlarken

Bu API'yi kullanmaya başlamak için kitaplığın projelerinize düzgün bir şekilde yük olduğundan ve ayar olduğundan emin olmak için başlangıç kılavuzunu okuyun.

Ometer kullanma

sınıfınıza Xamarin.Essentials bir başvuru ekleyin:

using Xamarin.Essentials;

Ometerometer işlevi, ve metotlarını StartStop çağırarak ölçerde yapılan değişiklikleri dinler. Tüm değişiklikler olay aracılığıyla geri ReadingChanged gönderilir. Örnek kullanım şu şekildedir:


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

Tüm veriler μT (microteslas) içinde döndürülür.

Algılayıcı Hızı

  • En Hızlı – Algılayıcı verilerini mümkün olan en hızlı şekilde elde etmek (kullanıcı arabirimi iş parçacığında geri dönmesi garanti edilemez).
  • Oyun – Oyunlar için uygun hız (kullanıcı arabirimi iş parçacığında geri dönüşü garanti edilemez).
  • Default: Ekran yönlendirme değişiklikleri için varsayılan hız uygundur.
  • UI – Genel kullanıcı arabirimi için uygun hız.

Olay işleyicinizin kullanıcı arabirimi iş parçacığında çalışması garanti edilemezse ve olay işleyicinin kullanıcı arabirimi öğelerine erişmesi gerekirse, kullanıcı arabirimi iş parçacığında bu kodu çalıştırmak için MainThread.BeginInvokeOnMainThread yöntemini kullanın.

API