Si vous voulez dire x, y, z coordonnées, vous ne pourriez pas les multiplier par -1? Juste C'est ce que je faisais quand j'ai commencé à déconner avec l'accéléromètre:
package com.semajhan.android.accelerometer;
importation android.app.Activity; importez android.hardware.Sensor; importez android.hardware.SensorEvent; importez android.hardware.SensorEventListener; importez android.hardware.SensorManager; importez android.os.Bundle; importez android.widget.TextView;
Accéléromètre public class étend Activité {
SensorManager sensorManager;
Sensor accelerometer;
TextView textView;
private SensorEventListener sensorEventListener = new SensorEventListener() {
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
update(x, y, z);
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
textView = new TextView(this);
setContentView(textView);
sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}
public void update(float x, float y, float z) {
textView.setText("x: " + x + " y: " + y + " z: " + z);
}
protected void onResume() {
super.onResume();
sensorManager.registerListener(sensorEventListener, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(sensorEventListener);
}
}
Non, je veux dire que je veux traduire l'accélération dans la coordination mondiale X, Y, Z , de sorte que tout l'effet de la gravité sera dans l'axe Z tout le temps, quel que soit l'orinetation du téléphone –