У меня есть приложение, в котором я хочу получить доступ к магнитометру. Я получаю результаты из своего приложения, но по сравнению с результатами ориентации из приложения компаса g1 я получаю совершенно другие результаты в своем приложении, чем приложение компаса. Например: мое приложение имеет угол 250 °, а приложение компаса - 90 °!
Этого просто не может быть, вот мой код. Есть ли разница, чтобы стать лучше?
public class MySensorListener implements SensorListener{
int orientation;
public MySensorListener(){
orientation = 0;
}
public void onAccuracyChanged(int sensor, int accuracy) {
// TODO Auto-generated method stub
}
public void onSensorChanged(int sensor, float[] values) {
orientation = (int)values[0];
}
}
Я работаю с Sensormanager следующим образом:
private MySensorListener doCompass(){
MySensorListener cl;
SensorManager cm;
compassListener = new MySensorListener();
cm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
cm.registerListener(
cl,
SensorManager.SENSOR_ORIENTATION,
SensorManager.SENSOR_DELAY_UI); //updateRate
return cl;
}
Кто-нибудь может помочь, пожалуйста? :)
Спасибо