Jan M.
- Forum-Beiträge: 36
01.05.2012, 14:49:18 via Website
01.05.2012 14:49:18 via Website
Hallo miteinander,
ich arbeite grade an einer App, die den SensorEventListener benutzen soll. Nun habe ich das Problem, dass dieser Listener nicht immer die korrekten Werte liefert, obwohl das Smartphone nicht bewegt wird und somit das Smartphone eig. keine neuen Daten liefern kann, bzw. Daten liefern kann, die von den vorherigen Daten gravierend abweichen.
Folgende Daten liefert mir der Listener:
Ich frage mich, wie auf einmal die 34 ausgegeben werden kann, obwohl das Smartphone nicht bewegt wurde?
Das Verhalten kann ich auf einem Galaxy S2 mit Android 4.0.3, so wie auf einem HTC Desire Z mit Android 2.3.5 reproduzieren.
So sieht der Listener aus:
Viel. habt ihr ja eine Erklärung für dieses Verhalten?
MfG
Jan
ich arbeite grade an einer App, die den SensorEventListener benutzen soll. Nun habe ich das Problem, dass dieser Listener nicht immer die korrekten Werte liefert, obwohl das Smartphone nicht bewegt wird und somit das Smartphone eig. keine neuen Daten liefern kann, bzw. Daten liefern kann, die von den vorherigen Daten gravierend abweichen.
Folgende Daten liefert mir der Listener:
10.21792556
20.21792556
30.21792556
40.19068487
534.0
60.21792556
70.19068487
80.21792556
90.21792556
100.19068487
110.19068487
120.21792556
20.21792556
30.21792556
40.19068487
534.0
60.21792556
70.19068487
80.21792556
90.21792556
100.19068487
110.19068487
120.21792556
Ich frage mich, wie auf einmal die 34 ausgegeben werden kann, obwohl das Smartphone nicht bewegt wurde?
Das Verhalten kann ich auf einem Galaxy S2 mit Android 4.0.3, so wie auf einem HTC Desire Z mit Android 2.3.5 reproduzieren.
So sieht der Listener aus:
1private SensorEventListener sensorEventListener = new SensorEventListener() {
2
3 @Override
4 public void onAccuracyChanged(Sensor sensor, int accuracy) {
5 }
6
7 @Override
8 public void onSensorChanged(SensorEvent event) {
9 float azimuth = event.values[0];
10 Log.i("Log", azimuth + "");
11 }
12 };
2
3 @Override
4 public void onAccuracyChanged(Sensor sensor, int accuracy) {
5 }
6
7 @Override
8 public void onSensorChanged(SensorEvent event) {
9 float azimuth = event.values[0];
10 Log.i("Log", azimuth + "");
11 }
12 };
Viel. habt ihr ja eine Erklärung für dieses Verhalten?
MfG
Jan