Accelerometer.Shaken | shaken Event

Происходит, когда акселерометр обнаруживает сотрясение компьютера.

Синтаксис


Public Event Shaken As TypedEventHandler(Of Accelerometer, AccelerometerShakenEventArgs)

Сведения о событии

Делегат TypedEventHandler<Accelerometer, AccelerometerShakenEventArgs>

Примечания

Это событие используется для получения уведомления о томи, что пользователь встряхнул содержащее акселерометр устройство. Приложению не требуется задавать интервал отчетности до регистрации для событий Shaken.

В следующем примере демонстрируется, как приложение Магазина Windows на языке C# и XAML регистрирует свой обработчик событий Shaken.


private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_accelerometer != null)
    {
        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _accelerometer.Shaken += new TypedEventHandler<Accelerometer, AccelerometerShakenEventArgs>(Shaken);
        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No accelerometer found", NotifyType.StatusMessage);
    }
}


В следующем примере показан обработчик событий Shaken.


async private void Shaken(object sender, AccelerometerShakenEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        _shakeCount++;
        ScenarioOutputText.Text = _shakeCount.ToString();
    });
}


В следующем примере демонстрируется, как приложение Магазина Windows на языке JavaScript регистрирует свой обработчик событий Shaken .


function enableShakenScenario() {
    if (accelerometer) {
        document.addEventListener("msvisibilitychange", msVisibilityChangeHandler, false);
        accelerometer.addEventListener("shaken", onShaken);
        document.getElementById("scenario2Open").disabled = true;
        document.getElementById("scenario2Revoke").disabled = false;
    } else {
        WinJS.log && WinJS.log("No accelerometer found", "sample", "error");
    }
}


В следующем примере показан обработчик событий Shaken.


var onShaken = (function () {
    var shakeCount = 0;

    return function (e) {
        shakeCount++;
        document.getElementById("shakeOutput").innerHTML = shakeCount;
    };
})();


Windows Phone 8:  Датчик акселерометра не вызывает событие Shaken на платформе Windows Phone 8. Если добавить обработчик событий для события сотрясения в приложении Windows Phone 8, то ошибки не возникает, но код не выполняется в обработчике событий.

Требования

Минимальный поддерживаемый клиент

Windows 8

Минимальный поддерживаемый сервер

Не поддерживается

Минимальный поддерживаемый телефон

Windows Phone 8

Пространство имен

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadata

Windows.winmd

См. также

Accelerometer

 

 

Показ:
© 2015 Microsoft