Accelerometer.Shaken | shaken Event

PC が揺さぶられたことを加速度計が検出したときに発生します。

構文


function onShaken(eventArgs) { /* コード */ }
 
// addEventListener syntax
accelerometer.addEventListener("shaken", onShaken);
accelerometer.removeEventListener("shaken", onShaken);
 
- or -

accelerometer.onshaken = onShaken;


イベント情報

Delegate TypedEventHandler<Accelerometer, AccelerometerShakenEventArgs>

解説

このイベントは、加速度計を含むデバイスが揺さぶられたという通知を受け取る場合に使用します。アプリケーションは Shaken イベントを登録する前に、レポート間隔を設定する必要はありません。

C# と XAML でビルドされた Windows ストア アプリケーションが 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();
    });
}


JavaScript で構築された Windows ストア アプリが 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:  加速度センサーで Windows Phone 8 プラットフォームの Shaken イベントは発生しません。Windows Phone 8 アプリケーションで Shaken イベントにイベント ハンドラーを追加した場合、エラーは発生しませんが、イベント ハンドラーのコードは実行されません。

要件

最小限サポートされるクライアント

Windows 8

最小限サポートされるサーバー

サポートなし

最小限サポートされる携帯電話

Windows Phone 8

名前空間

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

メタデータ

Windows.winmd

参照

Accelerometer

 

 

表示:
© 2014 Microsoft