Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
摩托罗拉Droid上的Android传感器接近/传感器指示灯(里程碑)_Android - Fatal编程技术网

摩托罗拉Droid上的Android传感器接近/传感器指示灯(里程碑)

摩托罗拉Droid上的Android传感器接近/传感器指示灯(里程碑),android,Android,我正在尝试使用以下代码读取接近传感器的状态(也尝试读取光传感器…): @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtStatus = (TextView)findViewById(R.id.txtStatus); sensorManager = (

我正在尝试使用以下代码读取接近传感器的状态(也尝试读取光传感器…):

@Override
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    txtStatus = (TextView)findViewById(R.id.txtStatus);
    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    sensorManager.registerListener(this, SensorManager.SENSOR_PROXIMITY);
}

@Override
protected void onStart() {
    super.onStart();
    sensorManager.registerListener(this, SensorManager.SENSOR_LIGHT);
}

@Override
public void onResume(){
    super.onResume();
    sensorManager.registerListener(this, SensorManager.SENSOR_LIGHT);
}

@Override
protected void onPause() {
  super.onPause();
  sensorManager.unregisterListener(this, SensorManager.SENSOR_LIGHT);
}
当传感器发生变化时(当我尝试读取加速计时,它工作…),txtStatus会更改默认文本,但当我阻止光传感器时,不会发生任何事情

当我打电话时,传感器工作(当我把手挡住传感器时,屏幕就会关闭)

我错过了什么

问候,,
André

哦,我在registerListener上使用了错误的参数

而不是

sensorManager.registerListener(this, SensorManager.SENSOR_LIGHT);
使用:


现在开始工作了

这就是您的全部代码吗?我想您必须用以下代码实现SensorEventListener

@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
        Log.i(TAG, "Light Change :" + event.values[0] );
    }
    if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
        Log.i(TAG, "PROXIMITY Change :" + event.values[0] );
    }
}
此外,为什么要注册这么多传感器

@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_LIGHT) {
        Log.i(TAG, "Light Change :" + event.values[0] );
    }
    if (event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
        Log.i(TAG, "PROXIMITY Change :" + event.values[0] );
    }
}