Bagikan melalui


Xamarin.Essentials:Barometer

Kelas Barometer memungkinkan Anda memantau sensor barometer perangkat, yang mengukur tekanan.

Memulai

Untuk mulai menggunakan API ini, baca panduan memulai untuk Xamarin.Essentials memastikan pustaka diinstal dan disiapkan dengan benar di proyek Anda.

Menggunakan Barometer

Tambahkan referensi ke Xamarin.Essentials di kelas Anda:

using Xamarin.Essentials;

Fungsionalitas Barometer bekerja dengan memanggil Start metode dan Stop untuk mendengarkan perubahan pembacaan tekanan barometer dalam hektopaskal. Setiap perubahan dikirim kembali melalui ReadingChanged peristiwa. Berikut adalah contoh penggunaan:


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

Kecepatan Sensor

  • Tercepat - Dapatkan data sensor secepat mungkin (tidak dijamin akan kembali pada utas UI).
  • Game – Rate cocok untuk game (tidak dijamin akan kembali pada utas UI).
  • Default – Laju default yang cocok untuk perubahan orientasi layar.
  • UI – Laju yang cocok untuk antarmuka pengguna umum.

Jika penanganan aktivitas Anda tidak dijamin berjalan pada utas UI, dan jika penanganan aktivitas perlu mengakses elemen antarmuka pengguna, gunakan MainThread.BeginInvokeOnMainThread metode untuk menjalankan kode tersebut pada utas UI.

Spesifikasi Implementasi Platform

Tidak ada detail implementasi khusus platform.

API