Lightsensor?

S

soma-web

App-Anbieter (kostenpfl.)
19
Hat jemand von euch schon mal den Lightsensor (Helligkeitsmessung) in einer App angesprcohen und könnte mir hierbei helfen?

Bis jetzt versuche ich es so:

Code:
package soma.de.Light;

import android.app.Activity;

import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.hardware.SensorManager;
import android.hardware.SensorListener;

@SuppressWarnings("deprecation")
public class LightSensorActivity extends Activity implements SensorListener{
	final String tag = "IBMEyes";
	TextView lsensor;
	TextView accsensor;
	
	SensorManager sm = null;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        sm = (SensorManager) getSystemService(SENSOR_SERVICE);
        lsensor = (TextView)findViewById(R.id.tvLight);
        accsensor = (TextView)findViewById(R.id.tvAcc);
        
        
    }
    
    public void onSensorChanged(int sensor, float[] values) {
        synchronized (this) {
            Log.d(tag, "onSensorChanged: " + sensor + ", x: " + 
            		values[0] + ", y: " + values[1] + ", z: " + values[2]);
            if (sensor == SensorManager.SENSOR_LIGHT) {
            	lsensor.setText("" + values[0]);
                
            }            
        }
    }
    
    public void onAccuracyChanged(int sensor, int accuracy) {
    	Log.d(tag,"onAccuracyChanged: " + sensor + ", accuracy: " + accuracy);
    }
    
    
    @Override
    protected void onResume() {
    	super.onResume();
    	// register this class as a listener for the orientation and accelerometer sensors
    	sm.registerListener(this, 
            SensorManager.SENSOR_ORIENTATION |SensorManager.SENSOR_ACCELEROMETER,
            SensorManager.SENSOR_DELAY_NORMAL);
    }
}

Aber das Will iwie noch nicht!
Es liegt vorallem daran, dass in der Funktion OnSensorChanged() immer die Acceleration Sensoren ausgespuckt werden. Wie kann ich die denn wegfiltern? Also dass der Sonsormanager gar nicht auf die reagiert?

Oder bin ich vollkommen auf dem Holzweg?


Danke euch!
 
Zuletzt bearbeitet:
Zurück
Oben Unten