Xamarin.Essentials: バロメーターXamarin.Essentials: Barometer

Barometer クラスを使用すると、気圧を測定するデバイスのバロメーター センサーを監視できます。The Barometer class lets you monitor the device's barometer sensor, which measures pressure.

作業開始Get started

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

バロメーターの使用Using Barometer

自分のクラスに Xamarin.Essentials への参照を追加します。Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

バロメーターの機能は、Start および Stop メソッドを呼び出し、バロメーターの気圧の読み取り値の変化をヘクトパスカル単位でリッスンすることで動作します。The Barometer functionality works by calling the Start and Stop methods to listen for changes to the barometer's pressure reading in hectopascals. すべての変更は ReadingChanged イベントを通じて戻されます。Any changes are sent back through the ReadingChanged event. 以下がサンプルの使用方法です。Here is sample usage:


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

センサーの速度Sensor Speed

  • Fastest – センサー データを最高速度で取得します (UI スレッドに返ることが保証されません)。Fastest – Get the sensor data as fast as possible (not guaranteed to return on UI thread).
  • Game – ゲームに適した速度です (UI スレッドに返ることが保証されません)。Game – Rate suitable for games (not guaranteed to return on UI thread).
  • Normal – 画面の向きの変更に適した既定の速度です。Normal – Default rate suitable for screen orientation changes.
  • UI – 一般的なユーザー インターフェイスに適した速度です。UI – Rate suitable for general user interface.

イベント ハンドラーが UI スレッドでの実行を保証されておらず、そのイベント ハンドラーでユーザー インターフェイス要素にアクセスする必要がある場合は、MainThread.BeginInvokeOnMainThread メソッドを使用してそのコードを UI スレッドで実行します。If your event handler is not guaranteed to run on the UI thread, and if the event handler needs to access user-interface elements, use the MainThread.BeginInvokeOnMainThread method to run that code on the UI thread.

プラットフォームの実装の詳細Platform Implementation Specifics

プラットフォーム固有の実装の詳細はありません。No platform-specific implementation details.

APIAPI