[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Provides Windows Phone applications information about the device’s orientation and motion.
Assembly: Microsoft.Devices.Sensors (in Microsoft.Devices.Sensors.dll)
XMLNS for XAML: Not mapped to an xmlns.
Public NotInheritable Class Motion _ Inherits SensorBase(Of MotionReading)
public sealed class Motion : SensorBase<MotionReading>
The Motion type exposes the following members.
|Motion||Initializes a new instance of the Motion class.|
|CurrentValue||Gets an object that implements ISensorReading that contains the current value of the sensor. This object will be one of the following types, depending on which sensor is being referenced: AccelerometerReading, CompassReading, GyroscopeReading, MotionReading. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|IsDataValid||Gets the validity of the sensor’s data. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|IsSupported||Gets or sets whether the device on which the application is running supports the sensors required by the Motion class.|
|TimeBetweenUpdates||Gets or sets the preferred time between CurrentValueChanged events. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|Dispose||Releases the managed and unmanaged resources used by the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|Start||Starts acquisition of data from the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|Stop||Stops acquisition of data from the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
|Calibrate||Occurs when the operating detects that the compass needs calibration.|
|CurrentValueChanged||Occurs when new data arrives from the sensor. (Inherited from SensorBase<(Of <(TSensorReading>)>).)|
Windows Phone supports multiple sensors that provide information about the device’s orientation and location, including Compass, Gyroscope, and Accelerometer. There are physical limitations that can make it difficult to determine the actual orientation and motion of a device from the raw data from these sensors. For example, readings from the accelerometer include the force of gravity applied to the device in addition to the force resulting from the motion of the device. The gyroscope sensor measures rotational velocity, not position, and so it is subject to drift. Also, there are complex geometrical calculations that are needed to translate the raw data from these sensors into the true orientation of the device. The Motion class handles the low-level sensor calculation and allows applications to easily obtain the device’s attitude (yaw, pitch, and roll), rotational acceleration, and linear acceleration both due to gravity and user movement. For typical applications that use this type of data, such as augmented reality applications, we recommend using the Motion class. If you want to use sensor data in an atypical manner or want to implement your own motion and orientation calculations, you can use the individual sensor classes to obtain raw data from each sensor.
If you use this API in your app, you must specify the following capabilities in the app manifest. Otherwise, your app might not work correctly or it might exit unexpectedly.
Windows Phone 8, Windows Phone OS 7.1
For more info, see App capabilities and hardware requirements for Windows Phone 8.
Windows Phone OS
Supported in: 8.1, 8.0, 7.1
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.