话机摇晃时的呼叫方法

本文关键字:呼叫 方法 摇晃 话机 | 更新日期: 2023-09-27 17:49:01

我创建了一个windows phone应用程序,当按下按钮时定位用户位置,但我想取消按钮,并使此功能在手机摇晃时发生!下面是我到目前为止创建的代码,当应用程序加载时,它将调用一个名为Locate_Me的函数来初始化加速度计。

private async void Locate_Me()
    {
        if (accelerometer == null)
        {
            // Instantiate the Accelerometer.
            accelerometer = new Accelerometer();
            accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
            accelerometer.CurrentValueChanged +=
                new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(accelerometer_CurrentValueChanged);
        }
        try
        {
            statusTextBlock.Text = "starting accelerometer.";
            accelerometer.Start();
        }
        catch (InvalidOperationException ex)
        {
            statusTextBlock.Text = "unable to start accelerometer.";
        } 
}

那么我该如何创建onShaken函数呢?

话机摇晃时的呼叫方法

第一步:从微软网站下载ShakeGestures库。将ShakeGetures.dll添加到你的项目中。现在,检测抖动手势对你来说是小菜一碟。下面是你可以使用的代码:

 //constructor of page register event handler for shake
 public Page1()
    {
        InitializeComponent();
            // register shake event
        ShakeGesturesHelper.Instance.ShakeGesture +=new 
           EventHandler<ShakeGestureEventArgs>(Instance_ShakeGesture);
            // optional, set parameters
            ShakeGesturesHelper.Instance.MinimumRequiredMovesForShake = 2;
            // start shake detection
            ShakeGesturesHelper.Instance.Active = true;
    }
    private void Instance_ShakeGesture(object sender, ShakeGestureEventArgs e)
    {
      //call your method
    }

这是您需要的最小代码。