Xamarin.Essentials:气压计
Barometer 类可用于监视设备的气压计传感器,该传感器可测量压力。
入门
若要开始使用此 API,请阅读 Xamarin.Essentials 的入门指南,确保在项目中正确安装和设置库。
使用 Barometer
在类中添加对 Xamarin.Essentials 的引用:
using Xamarin.Essentials;
Barometer 功能通过调用 Start
和 Stop
方法来侦听气压计压力读数的变化(以百帕为单位)。 然后通过 ReadingChanged
事件反馈任何变化。 示例用法如下:
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.
}
}
}
传感器速度
- 最快 – 尽快获取传感器数据(不保证在 UI 线程上返回)。
- 游戏 – 适合游戏的速度(不保证在 UI 线程上返回)。
- 默认 - 适合屏幕方向更改的默认速率。
- UI – 适合常规用户界面的速率。
如果事件处理程序不能保证在 UI 线程上运行,并且如果事件处理程序需要访问用户界面元素,请使用 MainThread.BeginInvokeOnMainThread
方法在 UI 线程上运行该代码。