Accelerometer Class

Definition

Represents an accelerometer sensor.

This sensor returns G-force values with respect to the x, y, and z axes.

For an example implementation, see the accelerometer sample.

public ref class Accelerometer sealed
class Accelerometer sealed
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.DualApiPartition(version=100794368)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Accelerometer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.DualApiPartition(version=100794368)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class Accelerometer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.DualApiPartition(version=100794368)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics), 65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics2), 196608, "Windows.Foundation.UniversalApiContract")]
public sealed class Accelerometer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.DualApiPartition(version=100794368)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics), 65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics2), 196608, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Static(typeof(Windows.Devices.Sensors.IAccelerometerStatics3), 327680, "Windows.Foundation.UniversalApiContract")]
public sealed class Accelerometer
Public NotInheritable Class Accelerometer
Inheritance
Accelerometer
Attributes

Windows 10 requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Remarks

Applications use the methods in this class to determine whether the sensor reading has changed or the device has been shaken.

Applications use the properties in this class to retrieve and adjust the sensor report interval.

Sensor data is provided relative to the device's fixed sensor coordinate system, and is independent of display orientation. For applications that rely on sensor data for input control or to manipulate elements on the screen, the developer must take current display orientation into account and compensate the data appropriately. For more info about the sensor coordinate system, see Sensor data and display orientation.

The following example demonstrates how a UWP app built with XAML and C# uses the GetDefault method to establish a connection to an accelerometer. If no integrated accelerometer is found, the method will return a null value.

_accelerometer = Accelerometer.GetDefault();

The following example demonstrates how a UWP app built with XAML registers a ReadingChanged event handler.

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

The following example shows the ReadingChanged event handler.

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

Version history

Windows version SDK version Value added
1607 14393 GetDefault(AccelerometerReadingType)
1607 14393 ReadingType
1709 16299 FromIdAsync
1709 16299 GetDeviceSelector

Properties

DeviceId

Gets the device identifier.

MaxBatchSize

Gets the maximum number of events that can be batched by the sensor.

MinimumReportInterval

Gets the minimum report interval supported by the accelerometer.

ReadingTransform

Gets or sets the transformation that needs to be applied to sensor data. Transformations to be applied are tied to the display orientation with which to align the sensor data.

ReadingType

Gets the type of accelerometer sensor the is represented by this object.

ReportInterval

Gets or sets the current report interval for the accelerometer.

ReportLatency

Gets or sets the delay between batches of sensor information.

ReportThreshold

Gets the AccelerometerDataThreshold for the accelerometer sensor.

Methods

FromIdAsync(String)

Asynchronously obtains the sensor from its identifier.

GetCurrentReading()

Gets the current accelerometer reading.

GetDefault()

Returns the default accelerometer.

GetDefault(AccelerometerReadingType)

Returns the default accelerometer of a specific type of sensor. The possible accelerometer sensors are defined by AccelerometerReadingType.

GetDeviceSelector(AccelerometerReadingType)

Gets the device selector.

Events

ReadingChanged

Occurs each time the accelerometer reports a new sensor reading.

Shaken

Occurs when the accelerometer detects that the PC has been shaken.

Applies to

See also