Most tablets and laptops these days have an array of sensors onboard the device that developers can use and take advantage of. One of the sensors which is on most tables and laptops is the Accelerometer Sensor. The Accelerometer sensor can be used to get a acceleration force of the device on the x y and z axis, or basically measure how fast it is moving in any given direction. With the Accelerometer you could build interesting augmented reality applications which react to the forces of the device. In this post we are going to take a look at how to use the Accelerometer Sensor from within your C#/XAML Windows 8 application.

In the above code what we are doing is making the call to get the Default sensor, this is the sensor on the device. If there is NO sensor on the users device it will return a NULL instance which is why we are checking for null. Make sure you do the same in your code

Register to receive event updates when the Accelerometer values change

I am using a CoreDispatcher (you can get this from Window.Current.Dispatcher) in order to message the results back onto the UI thread. If you do not need to message back to the UI thread you will NOT need this

I am getting the current reading for each axis via the .Reading property of the event argument. It is here you could do something useful with the reading.

Apart from being able to get the changed events for the Accelerometer you can also detect if the device has been shaking by listing to those events as well.