Je programme une application qui doit extraire des données du capteur de l'accéléromètre.La précision est toujours 0 dans SENSOR_ACCELEROMETER (Android)
J'ai écrasé les fonctions onAccuracyChanged() et onSensorChanged(). Il est supposé que ces fonctions ne sont appelées que lorsque la précision ou les valeurs du capteur changent, mais dans mon cas elles changent plusieurs fois par seconde, et retournent toujours les mêmes valeurs.
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
if(sensor.getType()==Sensor.TYPE_ACCELEROMETER){
Log.d(TAG, "Accuracy has changed: "+accuracy);
}
}
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
x = event.values[SensorManager.DATA_X];
y = event.values[SensorManager.DATA_Y];
z = event.values[SensorManager.DATA_Z];
Log.d(TAG, "Sensor changed: "+ event.accuracy+", "+x+", "+y+", "+z);
}
}
C'est gênant, mais il est aussi ennuyeux que la précision est toujours 0 (SensorManager.SENSOR_STATUS_UNRELIABLE), donc je ne peux pas lui faire confiance.
Que peut-il se passer? L'appareil est un Samsung Galaxy S, il a donc un accéléromètre.
Merci!
précision dépend de la configuration matérielle de capteur.Vous ne pouvez pas le réparer par votre code. – AndroidCrazy
Bonne question. Je trouve la même chose dans Sony Ericsson xperia x10 mini pro et sur le désir htc. De plus, je pense que je vois une précision différente chaque fois que je cours et que je change de réglage dans mes applications. – quinestor