Accelerometer 類別

定義

表示加速計感應器。

此感應器會傳回與 x、y 和 Z 軸相關的 G-force 值。

如需範例實作,請參閱加速計範例

public ref class Accelerometer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Accelerometer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Accelerometer
Public NotInheritable Class Accelerometer
繼承
Object Platform::Object IInspectable Accelerometer
屬性

Windows 需求

裝置系列
Windows 10 (已於 10.0.10240.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)

備註

應用程式會使用這個類別中的 方法來判斷感應器讀數是否已變更,還是裝置已搖動。

應用程式會使用此類別中的屬性來擷取和調整感應器報表間隔。

感應器資料會相對於裝置的固定感應器座標系統提供,而且與顯示方向無關。 對於依賴感應器資料進行輸入控制項或操作螢幕上元素的應用程式,開發人員必須將目前的顯示方向納入考慮,並適當地補償資料。 如需感應器座標系統的詳細資訊,請參閱 感應器資料和顯示方向

下列範例示範使用 XAML 和 C# 建置的 UWP 應用程式如何使用 GetDefault 方法來建立加速計的連接。 如果找不到整合式加速計,方法會傳回 Null 值。

_accelerometer = Accelerometer.GetDefault();

下列範例示範如何使用 XAML 建置的 UWP 應用程式註冊 ReadingChanged 事件處理常式。

private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_accelerometer != null)
    {
        // Establish the report interval
        _accelerometer.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _accelerometer.ReadingChanged += new TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No accelerometer found", NotifyType.StatusMessage);
    }
}

下列範例顯示 ReadingChanged 事件處理常式。

async private void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        AccelerometerReading reading = e.Reading;
        ScenarioOutput_X.Text = String.Format("{0,5:0.00}", reading.AccelerationX);
        ScenarioOutput_Y.Text = String.Format("{0,5:0.00}", reading.AccelerationY);
        ScenarioOutput_Z.Text = String.Format("{0,5:0.00}", reading.AccelerationZ);
    });
}

版本歷程記錄

Windows 版本 SDK 版本 已新增值
1607 14393 GetDefault (AccelerometerReadingType)
1607 14393 ReadingType
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector
2004 19041 ReportThreshold

屬性

DeviceId

取得裝置識別碼。

MaxBatchSize

取得感應器可批次處理的事件數目上限。

MinimumReportInterval

取得加速計支援的最小報表間隔。

ReadingTransform

取得或設定必須套用至感應器資料的轉換。 要套用的轉換會系結至要對齊感應器資料的顯示方向。

ReadingType

取得由這個 物件表示的加速計感應器類型。

ReportInterval

取得或設定加速計目前的報表間隔。

ReportLatency

取得或設定感應器資訊批次之間的延遲。

ReportThreshold

取得加速計感應器的 AccelerometerDataThreshold

方法

FromIdAsync(String)

以非同步方式從其識別碼取得感應器。

GetCurrentReading()

取得目前的加速計讀數。

GetDefault()

傳回預設加速計。

GetDefault(AccelerometerReadingType)

傳回特定類型感應器的預設加速計。 可能加速計感應器是由 AccelerometerReadingType所定義。

GetDeviceSelector(AccelerometerReadingType)

取得裝置選取器。

事件

ReadingChanged

每次加速計報告新的感應器讀數時發生。

Shaken

發生于加速計偵測到電腦已搖動時。

適用於

另請參閱