Share via


Accelerometer.Shaken Ereignis

Definition

Tritt auf, wenn der Beschleunigungsmesser erkennt, dass der PC geschüttelt wurde.

// Register
event_token Shaken(TypedEventHandler<Accelerometer, AccelerometerShakenEventArgs const&> const& handler) const;

// Revoke with event_token
void Shaken(event_token const* cookie) const;

// Revoke with event_revoker
Accelerometer::Shaken_revoker Shaken(auto_revoke_t, TypedEventHandler<Accelerometer, AccelerometerShakenEventArgs const&> const& handler) const;
public event TypedEventHandler<Accelerometer,AccelerometerShakenEventArgs> Shaken;
function onShaken(eventArgs) { /* Your code */ }
accelerometer.addEventListener("shaken", onShaken);
accelerometer.removeEventListener("shaken", onShaken);
- or -
accelerometer.onshaken = onShaken;
Public Custom Event Shaken As TypedEventHandler(Of Accelerometer, AccelerometerShakenEventArgs) 

Ereignistyp

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie eine mit C# und XAML erstellte UWP-App ihren Shaken-Ereignishandler registriert.

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);
    }
}

Das folgende Beispiel zeigt den Shaken-Ereignishandler.

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

Hinweise

Verwenden Sie dieses Ereignis, um eine Benachrichtigung zu erhalten, dass das Gerät, das den Beschleunigungsmesser enthält, geschüttelt wurde. Die App muss vor der Registrierung für Shaken-Ereignisse kein Berichtsintervall festlegen.

Die Unterstützung für das Shaken-Ereignis hängt von der Hardware- und Treiberunterstützung ab. In der Praxis unterstützen nur sehr wenige Beschleunigungsmesser das Shaken-Ereignis. Wenn der Beschleunigungsmesser das Shaken-Ereignis nicht unterstützt und Sie einen Ereignishandler für das Shaken-Ereignis hinzufügen, wird kein Fehler ausgelöst, aber der Code im Ereignishandler wird nicht ausgeführt.

Gilt für: