2013-04-16 2 views
0

Я пытаюсь обнаружить угол поворота по оси Y. (вперед-назад наклона при проведении в пейзаж), но я, очевидно, делает разжижает неправильно как onSensorChanged событие никогда не сработалAndroid Датчик Угол поворота

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

    setContentView(R.layout.main); 

    ... 

    mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); 
    mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR); 
    mSensorManager.registerListener(this.mSensorEventListener, mSensor, SensorManager.SENSOR_DELAY_GAME); 
} 

... 

private SensorEventListener mSensorEventListener = new SensorEventListener() { 
    @Override 
    public void onAccuracyChanged(Sensor sensor, int accuracy) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onSensorChanged(SensorEvent event) { 
     float aX = event.values[1]; 
     float aY = event.values[2]; 

     double angle = aY * (Math.PI/180); 
     btnStop.setText(Double.toString(angle)); 
}; 
+0

, когда вы будете встряхивать устройство, тогда он автоматически вызовет –

ответ

0

На вашем устройстве, вероятно, нет Sensor.TYPE_ROTATION_VECTOR

+0

, что может показаться странным для Samsung Galaxy Tab, а не? – whoami

+0

, но я думаю, вы правы. Я проверил код с TYPE_ACCELEROMETER, и он действительно работал ... – whoami

+0

Большинство устройств по-прежнему не имеют гироскопов. –

Смежные вопросы