Accelerometer.Shaken 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發生于加速計偵測到電腦已搖動時。
// 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 事件,而且您為 Shaken 事件新增事件處理常式,則不會引發錯誤,但事件處理常式中的程式碼不會執行。