Windows phone 8 如何在不使用页面方向的情况下检测Windows Phone 8的旋转?

Windows phone 8 如何在不使用页面方向的情况下检测Windows Phone 8的旋转?,windows-phone-8,Windows Phone 8,当Windows Phone设备旋转到横向时,页面方向告诉我使用带有枚举的事件。然而,我试图在不允许页面改变方向的情况下检测横向方向 因此,由于纵向是页面上唯一受支持的方向,如何使用传感器检测相同的运动?我应该寻找什么样的价值观 也许可以使用加速计计算角度,然后您可以根据角度值决定手机是处于横向模式还是横向模式。以下代码段未经测试,我还没有玩过Accelerator,只是想给大家一个开始的想法: private Accelerometer _accel = new Accelerometer()

当Windows Phone设备旋转到横向时,页面方向告诉我使用带有枚举的事件。然而,我试图在不允许页面改变方向的情况下检测横向方向


因此,由于纵向是页面上唯一受支持的方向,如何使用传感器检测相同的运动?我应该寻找什么样的价值观

也许可以使用加速计计算角度,然后您可以根据角度值决定手机是处于横向模式还是横向模式。以下代码段未经测试,我还没有玩过Accelerator,只是想给大家一个开始的想法:

private Accelerometer _accel = new Accelerometer();

public MainPage()
{
    InitializeComponent();
    _accel.ReadingChanged += (s, e) => Dispatcher.BeginInvoke(() =>
                            {
                                var angle = Math.Atan2(-x,y) * 180.0 / Math.PI;
                                .....
                            });
    _accel.Start();
}
参考资料:

  • 角度计算:
  • 使用加速计:

我还是不知道该怎么办。我们有提供加速度、姿态(俯仰、滚动、偏航)等信息的运动API,但我不知道如何利用这些信息。+1,@Laith-比较手机相对于重力的位置。这款手机有三个加速计,你们可以使用它们。