obtener la aceleración sin gravedad

Soy nuevo en el desarrollo de Android. Quiero obtener la aceleración real del teléfono. Encontré un código para obtener la aceleración, pero da aceleración con la gravedad. Por favor, que alguien me ayude a encontrar una manera de obtener la aceleración real sin gravedad. Aquí está el código que encontré, por favor, ayúdame con este código. gracia

    package com.SensorTest;

    import android.app.Activity;
    import android.hardware.Sensor;
    import android.hardware.SensorEvent;
    import android.hardware.SensorEventListener;
    import android.hardware.SensorManager;
    import android.os.Bundle;
    import android.widget.TextView;


    public class SensorTestActivity extends Activity implements SensorEventListener {

    SensorManager sensorManager = null;

    //for accelerometer values
    TextView outputX;
    TextView outputY;
    TextView outputZ;

    //for orientation values
    TextView outputX2;
    TextView outputY2;
    TextView outputZ2;

     @Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        setContentView(R.layout.main);

        //just some textviews, for data output
        outputX = (TextView) findViewById(R.id.TextView01);
        outputY = (TextView) findViewById(R.id.TextView02);
        outputZ = (TextView) findViewById(R.id.TextView03);

        outputX2 = (TextView) findViewById(R.id.TextView04);
        outputY2 = (TextView) findViewById(R.id.TextView05);
        outputZ2 = (TextView) findViewById(R.id.TextView06);


     }


    @Override
    public void onAccuracyChanged(Sensor arg0, int arg1) {
        // TODO Auto-generated method stub

    }

 @Override
 public void onSensorChanged(SensorEvent event) {
synchronized (this) {
    switch (event.sensor.getType()){
        case Sensor.TYPE_ACCELEROMETER:
            outputX.setText("acclaration x:"+Float.toString(event.values[0]));
            outputY.setText("acclaration y:"+Float.toString(event.values[1]));
            outputZ.setText("acclaration z:"+Float.toString(event.values[2]));
        break;
    case Sensor.TYPE_ORIENTATION:
            outputX2.setText("orientation x:"+Float.toString(event.values[0]));
            outputY2.setText("orientation y:"+Float.toString(event.values[1]));
            outputZ2.setText("orientation z:"+Float.toString(event.values[2]));
    break;

            }
        }
    }


    @Override
    protected void onResume() {
       super.onResume();
       sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), sensorManager.SENSOR_DELAY_GAME);
       sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), sensorManager.SENSOR_DELAY_GAME);
    }

    }