Comment faire pour simuler un événement tactile Android?
Comment faire pour simuler un événement tactile avec Android, tout en donnant les coordonnées X et Y manuellement?
- Vous obtenez des solutions concrètes ci-dessous, il suffit de garder à l'esprit qu'ils ne fonctionne que sur des applications que vous pouvez faire de petites modifications. Pour d'autres applications que vous ne peut pas modifier, vous avez besoin d'une plate-forme ancrée à injecter des événements.
- Est-il possible de faire une demande de contact en x,y de chaque 10 seconde et la réduire, mais en touchant les axes x,y être poursuivi?
- Vérifier ma réponse avec pas de racine exigences. 🙂
Vous devez vous connecter pour publier un commentaire.
Valentin Rocher méthode fonctionne si vous avez prolongé votre point de vue, mais si vous utilisez un écouteur d'événement, utilisez ceci:
Pour en savoir plus sur l'obtention d'un MotionEvent objet, ici, est une excellente réponse: Android: Comment créer un MotionEvent?
downTime
serait le temps lorsque l'utilisateur touche le bas de l'écran, tandis queeventTime
serait dans ce cas lorsque l'utilisateur retire son doigt vers le haut (ACTION_UP
). Je ne sais pas si ça fonctionnera si les deux sont les mêmes. Vous pouvez le tester et afficher vos résultats.Ici est un monkeyrunner script qui envoie le toucher et l'entraîne à une application. J'ai été en utilisant ce test que ma demande peut gérer rapide répétitif des gestes de balayage.
MonkeyDevice.DOWN_AND_UP
au lieu de'DOWN_AND_UP'
. (DOWN_AND_UP
est la valeur par défaut, de sorte que votre code fonctionne toujours)UP
actionutiliser la commande adb Shell de Commandes pour simuler l'événement tactile
Si je comprends bien, vous voulez le faire par programmation. Ensuite, vous pouvez utiliser le onTouchEvent méthode de
View
, et de créer unMotionEvent
avec les coordonnées dont vous avez besoin.Vous devez donner à la nouvelle monkeyrunner un aller. Peut-être que cela peut résoudre votre problèmes. Vous mettez les codes de touches en pour le tester, peut-être que les événements tactiles sont également possibles.
adb shell monkey
c'est lemonkeyrunner
, qui est un autre outil.tools
répertoire.android update sdk
et installer le dernier sdk et outils. Ils contiennent également de la monkeyrunnerLors de l'utilisation de Singe Script, j'ai remarqué que DispatchPress(KEYCODE_BACK)
est de ne rien faire qui vraiment sucer. Dans de nombreux cas, cela est dû au fait que l'Activité ne consume pas la Clé de l'événement.
La solution à ce problème consiste à utiliser un mélange de singe script et
la commande adb shell de commande d'entrée dans une séquence.
1 à l'Aide de singe script a donné quelques bon timing
de contrôle. Attendre une certaine quantité de seconde pour l'activité et est un
le blocage de la bad appel.
2 Enfin, l'envoi de la commande adb shell entrée keyevent 4 ce sera la fin de la course APK.
Par exemple
adb shell singe -p com.mon.application -v -v -v -f /sdcard/monkey_script.txt 1
la commande adb shell entrée keyevent 4
MotionEvent est généré uniquement en touchant l'écran.