[英]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.