我试图在我的应用程序中实现传感器侦听器,并且它在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。我究竟做错了什么?谢谢。

编辑:该设备是第二代MotoG。

最佳答案

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

关于java - Android-传感器或监听器为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27803288/

10-09 07:07