1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Lightsensor?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von soma-web, 21.07.2011.

  1. soma-web, 21.07.2011 #1
    soma-web

    soma-web Threadstarter App-Anbieter (kostenpfl.)

    Beiträge:
    146
    Erhaltene Danke:
    18
    Registriert seit:
    06.07.2011
    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: 21.07.2011
  2. soma-web, 21.07.2011 #2
    soma-web

    soma-web Threadstarter App-Anbieter (kostenpfl.)

    Beiträge:
    146
    Erhaltene Danke:
    18
    Registriert seit:
    06.07.2011

Diese Seite empfehlen