繁体   English   中英

Windows Phone 8.1,加速度计给出错误的读数

[英]Windows Phone 8.1, accelerometer gives wrong reading

我正在为Windows Phone 8.1开发应用程序,需要检测手机的移动。

例如,我需要检测以下两种情况之一:

用户将手机倾斜 在此处输入图片说明

用户将手机倾斜 在此处输入图片说明

这是该应用程序的屏幕截图,显示了当手机处于第二张图片所示位置时的加速度计读数。

在此处输入图片说明

X轴,Y轴和Z轴相同(在我的设备上相同)。 在第二张图片中,当手机面朝上时,X = -0.5317。 由于某种原因,看起来所有轴都采用该值。

这是代码。

public RoundPage()
{
    this.InitializeComponent();

    // ...

    this._accelerometer = Accelerometer.GetDefault();
    this._accelerometer.ReadingChanged += _accelerometer_ReadingChanged;
}

async void _accelerometer_ReadingChanged(Accelerometer sender, AccelerometerReadingChangedEventArgs args)
{
    double xAxis = args.Reading.AccelerationX;
    double yAxis = args.Reading.AccelerationY;
    double zAxis = args.Reading.AccelerationZ;

    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            AccTextBlock.Text = String.Format("X: {0:f2}  Y: {0:f2}  Z: {0:f2}",
                xAxis,
                yAxis,
                zAxis);
        });
}

我究竟做错了什么? 什么是正确的方法来检测此读数。

我在String.Format方法中出错,我一直在打印xAxis({0})。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM