Android - 传感器或监听器为空

时间:2015-01-06 16:48:40

标签: java android android-sensors

我正在尝试在我的应用中实现传感器侦听器,并在sensor or listener is null行引发mSensorManager.registerListener(sensorEventListener, mSensor, mSensorManager.SENSOR_DELAY_FASTEST);错误。这是我的完整代码:

    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));*/
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GAME_ROTATION_VECTOR);
    sensorEventListener = new SensorEventListener() {
        public void onSensorChanged(SensorEvent event) {
            double xAxis = event.values[0];
            TextView textView = (TextView) findViewById(R.id.rotation);
            textView.setText(String.valueOf(xAxis));
        }

        public void onAccuracyChanged(Sensor s, int i) {

        }
    };

    mSensorManager.registerListener(sensorEventListener, mSensor, mSensorManager.SENSOR_DELAY_FASTEST);

我检查过,传感器实际上是null。我究竟做错了什么?感谢。

编辑:该设备是第二代Moto G。

1 个答案:

答案 0 :(得分:9)

原因是设备不支持Sensor.TYPE_GAME_ROTATION_VECTOR。因此传感器为空。