J'aurais envie de dire que c'est peut-être possible 
Je n'ai pas mon code d'accéléromètre sous la main mais j'ai trouvé celui-ci.
http://mathias-seguy.developpez.com/...iser-capteurs/
On passe par un SensorEventListener.
Remarquez l'objet Sensor accelerometer.
Ensuite il récupère les valeurs x,y,z dans onSensorChanged (que ce soit l'accéleromètre ou le gyro).
Il faudrait tester 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| public class SensorAccelerationTutoActivity extends Activity implements SensorEventListener {
// Déclaration de l'attribut en tant qu'attribut de l'activité
// Le sensor manager (gestionnaire de capteurs)
SensorManager sensorManager;
// L'accéléromètre
Sensor accelerometer;
/***************************************************************************/
/** Manage life cycle ******************************************************/
/***************************************************************************/
// Appelé à la création de l'activité. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Faire quelque chose
// Gérer les capteurs*:
// Instancier le gestionnaire des capteurs, le SensorManager
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
// Instancier l'accéléromètre
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
// Faire d'autres trucs
}
@Override
protected void onPause() {
// unregister the sensor (désenregistrer le capteur)
sensorManager.unregisterListener(this, accelerometer);
super.onPause();
}
@Override
protected void onResume() {
/* Ce qu'en dit Google*dans le cas de l'accéléromètre :
* «* Ce n'est pas nécessaire d'avoir les évènements des capteurs à un rythme trop rapide.
* En utilisant un rythme moins rapide (SENSOR_DELAY_UI), nous obtenons un filtre
* automatique de bas-niveau qui "extrait" la gravité de l'accélération.
* Un autre bénéfice étant que l'on utilise moins d'énergie et de CPU.*»
*/
sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_UI);
super.onResume();
}
/********************************************************************/
/** SensorEventListener*************************************************/
/********************************************************************/
@Override
public void onAccuracyChanged(Sensor sensor, intaccuracy) {
// Rien à faire la plupart du temps
}
@Override
public void onSensorChanged(SensorEvent event) {
// Récupérer les valeurs du capteur
floatx, y, z;
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
x = event.values[0];
y = event.values[1];
z = event.values[2];
}
} |
La ligne qui tue:
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
Pourquoi tester si c'est connu d'avance!
Partager