Share via


Accelerometer.Shaken 이벤트

정의

가속도계가 PC가 흔들렸다는 것을 감지할 때 발생합니다.

// 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) 

이벤트 유형

예제

다음 예제에서는 C# 및 XAML로 빌드된 UWP 앱이 해당 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();
    });
}

설명

이 이벤트를 사용하여 가속도계가 포함된 디바이스가 흔들렸다는 알림을 받습니다. 앱은 흔들린 이벤트에 등록하기 전에 보고서 간격을 설정할 필요가 없습니다.

Shaken 이벤트에 대한 지원은 하드웨어 및 드라이버 지원에 따라 달라집니다. 실제로 Shaken 이벤트를 지원하는 가속도계는 극소수에 해당합니다. 가속도계가 Shaken 이벤트를 지원하지 않고 Shaken 이벤트에 대한 이벤트 처리기를 추가하는 경우 오류가 발생하지 않지만 이벤트 처리기의 코드는 실행되지 않습니다.

적용 대상