Comment détecter un tremblement de cas avec android?
Comment puis-je détecter un tremblement de cas avec android? Comment puis-je détecter le tremblement de direction?
Je veux changer l'image dans une imageview lors de la secousse se produit.
- J'ai googlé, et terminé avec cette question que le résultat haut de la page...
- stackoverflow.com/a/54745560/4307338 vous pouvez vérifier cette réponse
Vous devez vous connecter pour publier un commentaire.
Du code de point de vue, vous avez besoin pour mettre en œuvre les SensorListener:
Vous aurez besoin d'acquérir un SensorManager:
Et enregistrer ce capteur souhaité drapeaux:
Dans votre onSensorChange() méthode permet de déterminer s'il s'agit d'une secousse ou pas:
Le tremblement de seuil est défini comme étant:
Il y a quelques autres méthodes, afin de détecter les secouer le mouvement. regardez cette lien.(Si ce lien ne fonctionne pas ou le lien est mort, regardez cette archive web.).
Jetez un oeil à cette exemple pour android tremblement de détecter l'auditeur.
Remarque:
SensorListener
est obsolète. nous pouvons utiliserSensorEventListener
à la place. Voici un exemple rapide à l'aide de SensorEventListener.Grâce.
SensorManager.registerListener(SensorListener listener, int sensors, int rate)
que vous utilisez dans le 3ème bloc de code, est désormais obsolète - voirhttp://developer.android.com/reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorListener, int, int)
(désolé pour le méchant lien, AFIN de ne pas le formater correctement en raison d'espaces dans le point d'ancrage).Google aide beaucoup.
java.lang.SecurityException: Requires VIBRATE permission
SensorManager.DATA_[X,Y,Z]
sont désormais obsolète.Vous pouvez également prendre un coup d'oeil sur JakeWharton de bibliothèque avec code exemple: https://github.com/square/seismic
Il y a beaucoup de solutions à cette question déjà, mais je voulais poster celui qui (1) Ne pas utiliser une bibliothèque depricated de l'API de 3, (2) calcule la grandeur de l'accélération correctement, et (3) s'applique correctement un délai d'attente entre le secouer les événements. Voici par exemple une solution:
Pour initialiser le timer:
SensorEventListener
méthodes à redéfinir:Lorsque vous êtes tous fait
Depuis SensorListener est obsolète donc utiliser le code suivant:
Alors:
La question avec plus de détails pourraient être trouvés ici:
Android: j'ai envie de le secouer
Vous pouvez utiliser Sismique:
Voir le code ici:
https://github.com/square/seismic/blob/master/library/src/main/java/com/squareup/seismic/ShakeDetector.java
Procédez de la manière suivante:
Mettre cela dans la méthode onCreate.
Et maintenant, la partie principale.
Dans votre MainActivity fichier java:
N'oubliez pas d'ajouter ce code:
MainActivity.java
Ou je vous donne un lien sur ce genre de choses.