Windows通用应用程序中的加速度计抖动事件不起作用

时间:2016-01-02 19:04:54

标签: c# windows-mobile win-universal-app shake

我尝试使用Accelerometer对象的Shaken事件检测手机上的抖动。加速度计对象不为空,但是当我摇动手机时,它永远不会进入_accelerometer_Shaken事件。

    public int shakeCount = 0;
    Accelerometer _accelerometer = Accelerometer.GetDefault();
    public MainPage()
    {
        this.InitializeComponent();

        if (_accelerometer != null)
        {
            _accelerometer.Shaken += _accelerometer_Shaken;
        }
    }

    async private void _accelerometer_Shaken(Accelerometer sender, AccelerometerShakenEventArgs args)
    {
        await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            shakeCount++;
            tbInfo.Text = shakeCount.ToString();
        });

    }

我不明白为什么

1 个答案:

答案 0 :(得分:2)

目前尚不支持此功能。

这是官方示例代码

的摘录

https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Accelerometer

  

加速度计摇动事件

     

为Shake Events选项启用按钮时,应用程序   每次事件时显示震动事件的累积次数   发生。 (应用程序首先递增事件计数,然后呈现   最近的价值。)

     

请注意,Windows 10内部版本10240不支持摇动事件,因此   Shaken事件永远不会被提出,但样本演示了如何   在添加支持摇动时处理事件。

我在Windows 10 10586下进行了测试,但仍然无效。