I have a program in which I must show in some textview the information of the sensors that is obtained from the device, but they are not shown.
This is my code:
private ListView miListView;
private SensorManager miSensorManager;
private Sensor miSensor;
private TextView miTextView;
private TextView miTextLuz;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensores);
miSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
miSensor = miSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
miTextView = (TextView) findViewById(R.id.textView);
miTextLuz = (TextView) findViewById(R.id.textLuz);
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
switch (sensorEvent.sensor.getType()) {
case Sensor.TYPE_LIGHT:
if (sensorEvent.values[0] == 0.0) {
miTextLuz.setText("No veo nada!!!");
} else {
miTextLuz.setText("Parece que hay buena iluminación");
}
case Sensor.TYPE_PROXIMITY:
miTextView.setText(String.valueOf(sensorEvent.values[0]));
if (sensorEvent.values[0] == 0.0) {
textView.setText("Demasiado cerca");
}
break;
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
// Paramos el acceso a los sensores cuando no sea necesario.
@Override
protected void onPause() {
super.onPause();
miSensorManager.unregisterListener(this);
}
Code update:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensores);
miSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
miSensorLuz = miSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
miSensorProx = miSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
miTextView = (TextView) findViewById(R.id.textView);
miTextLuz = (TextView) findViewById(R.id.textLuz);
if (miSensorLuz != null) {
miSensorManager.registerListener(this, miSensorLuz, SensorManager.SENSOR_DELAY_NORMAL);
} else {
Log.d("SENSOR", "NOT Available");
}
if (miSensorProx != null) {
miSensorManager.registerListener(this, miSensorProx, SensorManager.SENSOR_DELAY_NORMAL);
} else {
Log.d("SENSOR", "NOT Available");
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
switch (sensorEvent.sensor.getType()) {
case Sensor.TYPE_LIGHT:
if (sensorEvent.values[0] == 0.0) {
miTextLuz.setText("No veo nada!!!");
} else {
miTextLuz.setText("Parece que hay buena iluminación");
}
case Sensor.TYPE_PROXIMITY:
miTextView.setText(String.valueOf(sensorEvent.values[0]));
if (sensorEvent.values[0] == 0.0) {
textView.setText("Demasiado cerca");
}
break;
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
// Paramos el acceso a los sensores cuando no sea necesario.
@Override
protected void onPause() {
super.onPause();
miSensorManager.unregisterListener(this);
}