title: onSensorChanged(SensorEvent event) always show the same result
body: <p>i tested source code for compass app. this app have installed on ginger bread and jelly blast. the problem is my compass app not work in jellyblast but in gingerbread work well.</p>
  
  <p>the problem is if i log the "event.values[0]" it's always show same result</p>
  
  <p>this is my code</p>
  
  <pre><code>package com.example.compassapp;
  
  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.util.Log;
  import android.view.animation.Animation;
  import android.view.animation.RotateAnimation;
  import android.widget.ImageView;
  import android.widget.TextView;
  
  public class MainActivity extends Activity implements SensorEventListener {
  
  // define the display assembly compass picture
  private ImageView image;
  
  // record the compass picture angle turned
  private float currentDegree = 0f;
  
  // device sensor manager
  private SensorManager mSensorManager;
  
  TextView tvHeading;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
  
      // 
      image = (ImageView) findViewById(R.id.imageViewCompass);
  
      // TextView that will tell the user what degree is he heading
      tvHeading = (TextView) findViewById(R.id.tvHeading);
  
      // initialize your android device sensor capabilities
      mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
      mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
              SensorManager.SENSOR_DELAY_GAME);
  }
  
  @Override
  protected void onResume() {
      super.onResume();
  
      // for the system's orientation sensor registered listeners
      mSensorManager.registerListener(this,   mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
              SensorManager.SENSOR_DELAY_GAME);
  }
  
  @Override
  protected void onPause() {
      super.onPause();
      Log.i("aa", "pause");
      // to stop the listener and save battery
      mSensorManager.unregisterListener(this);
  }
  
  @Override
  public void onSensorChanged(SensorEvent event) {
      synchronized (this) {
          Log.i("aa", event.values[0]+"");
      // get the angle around the z-axis rotated
      float degree = Math.round(event.values[0]);
  
      tvHeading.setText("Heading: " + Float.toString(degree) + " degrees");
  
      // create a rotation animation (reverse turn degree degrees)
      RotateAnimation ra = new RotateAnimation(
              currentDegree, 
              -degree,
              Animation.RELATIVE_TO_SELF, 0.5f, 
              Animation.RELATIVE_TO_SELF,
              0.5f);
  
      // how long the animation will take place
      ra.setDuration(210);
  
      // set the animation after the end of the reservation status
      ra.setFillAfter(true);
  
      // Start the animation
      image.startAnimation(ra);
      currentDegree = -degree;
      }
  }
  
  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {
      // not in use
  }
  }
  </code></pre>
  
  <p>can somebody explain why this happen?</p>