2016-09-26 33 views
0

阅读我试图让sensor陀螺仪从fragment没有得到传感器从片段类

阅读我实现了SensorEventListener

public class Fragment1 extends Fragment implements View.OnClickListener, SensorEventListener 

private SensorManager mSensorManager; 
private Sensor mSensorGyro; 
float [] history = new float[2]; 

public void onCreate(Bundle savedInstanceState) { 
    getActivity().getSystemService(Context.SENSOR_SERVICE); 
    mSensorGyro = mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); 

} 

下面是我对进入传感器读数如何处理。

@Override 
    public void onSensorChanged(SensorEvent sensorEvent) { 
     Log.d(TAG, "onSensorChanged: "); 
     switch (sensorEvent.sensor.getType()) { 
      case Sensor.TYPE_GYROSCOPE: 

       float xChange = history[0] - sensorEvent.values[0]; 
       float yChange = history[1] - sensorEvent.values[1]; 

       history[0] = sensorEvent.values[0]; 
       history[1] = sensorEvent.values[1]; 

       if (xChange > 2) { 
        //clockwise 
        Log.d(TAG, "onSensorChanged: Clockwise");       
       } else if (xChange < -2) { 
        //anticlockwise 
        Log.d(TAG, "onSensorChanged: Anti-Clockwise");       
       } 
       if (yChange > 2) { 
        //forward 
        Log.d(TAG, "onSensorChanged: Forward"); 
       } 
     } 
    } 

当我在我的Android设备上运行它,我没有得到任何读书回来,从丢失的日志在Android logcat的判断。

可能是什么问题?

回答

0

缺少听众寄存器

mSensorManager.registerListener(this, mSensorGyro, SensorManager.SENSOR_DELAY_NORMAL);