2016-09-08 4 views
2

J'étudie l'API Android et suis tombé sur la méthode onAccuracyChanged.Android - dans quel cas le déclencheur onAccuracyChanged() est-il activé?

Recherche sur Google sur StackOverflow mais je ne comprends toujours pas à quelle occasion la précision d'un capteur pourrait changer.

J'ai essayé la mise en œuvre du code dans la réponse du fil ci-dessous: onAccuracyChanged, why?

test, je n'ai pas la moindre idée comment déclencher cette méthode. Même si cela peut ne pas être utile dans tous les cas. Il doit y avoir une raison pour laquelle cela a été fourni dans l'interface.

Donc, par curiosité. Est-ce que quelqu'un sait comment je pourrais déclencher cet appel?

Répondre

2

Un exemple de capteur sur des appareils mobiles qui nécessite parfois un étalonnage est une boussole. Par conséquent, vous pourrez peut-être observer des événements avec précision en expérimentant le type de capteur TYPE_MAGNETIC_FIELD.

Les résultats que vous recevez seront de cette liste:

  1. SENSOR_STATUS_ACCURACY_HIGH Ce capteur est la communication des données avec une précision maximale
  2. SENSOR_STATUS_ACCURACY_LOW Ce capteur rapporte des données avec une faible précision, étalonnage avec l'environnement est nécessaire
  3. SENSOR_STATUS_ACCURACY_MEDIUM Ce capteur signale des données avec un niveau de précision moyen, l'étalonnage avec l'environnement peut améliorer les lectures
  4. SENSOR_STATUS_NO_CONTACT Les valeurs renvoyées par ce capteur ne sont pas fiables car le capteur n'a aucun contact avec ce qu'il mesure (par exemple, le cardiofréquencemètre n'est pas en contact avec l'utilisateur).
  5. SENSOR_STATUS_UNRELIABLE

Ainsi, vous pouvez voir les états reflètent des capteurs qui sont soit bien performants, doivent être calibrés, ou tout simplement ne fonctionnent pas.

+0

Réponse parfaitement valide IMO. Merci! –