导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Accelerometer.Shaken | shaken Event

在加速计检测 PC 摇动时发生。

语法


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

accelerometer.onshaken = onShaken;


事件信息

委托 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 应用程序中为摇晃事件添加一个事件处理程序,不会引发任何错误,但事件处理程序中的代码不会运行。

要求

最低支持客户端

Windows 8

最低支持服务器

不支持“无”

最低支持电话

Windows Phone 8

命名空间

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

元数据

Windows.winmd

另请参见

Accelerometer

 

 

显示:
© 2015 Microsoft