Comment simuler un événement tactile avec Android tout en donnant les coordonnées X et Y manuellement?
android
adb
gesture-recognition
indira
la source
la source
Réponses:
La méthode de Valentin Rocher fonctionne si vous avez étendu votre vue, mais si vous utilisez un écouteur d'événements, utilisez ceci:
Pour en savoir plus sur l'obtention d'un objet MotionEvent, voici une excellente réponse: Android: Comment créer un MotionEvent?
la source
downTime
serait le moment où l'utilisateur touche l'écran vers le bas, alors queeventTime
dans ce cas, ce serait le moment où l'utilisateur lève le doigt (ACTION_UP
). Je ne sais pas si cela fonctionnera toujours si les deux sont identiques. Vous pouvez le tester et publier vos résultats.Voici un script monkeyrunner qui envoie des touches et des traînées à une application. J'utilise ceci pour tester que mon application peut gérer des gestes rapides et répétitifs.
la source
MonkeyDevice.DOWN_AND_UP
place de'DOWN_AND_UP'
. (DOWN_AND_UP
est la valeur par défaut, donc votre code fonctionne toujours)UP
actionutiliser les commandes adb Shell pour simuler l'événement tactile
la source
Si je comprends bien, vous voulez le faire par programme. Ensuite, vous pouvez utiliser la méthode onTouchEvent de
View
et créer unMotionEvent
avec les coordonnées dont vous avez besoin.la source
Vous devriez essayer le nouveau monkeyrunner . Cela peut peut-être résoudre vos problèmes. Vous y mettez des codes clés pour les tests, peut-être que des événements tactiles sont également possibles.
la source
adb shell monkey
le casmonkeyrunner
, qui est un outil différent.Lors de l'utilisation de Monkey Script, j'ai remarqué que DispatchPress (KEYCODE_BACK) ne faisait rien de vraiment nul. Dans de nombreux cas, cela est dû au fait que l'activité ne consomme pas l'événement Key. La solution à ce problème consiste à utiliser un mélange de script monkey et de commande d'entrée du shell adb dans une séquence.
1 L'utilisation du script monkey a donné un excellent contrôle de la synchronisation. Attendez un certain nombre de secondes pour l'activité et c'est un appel adb bloquant.
2 Enfin, l'envoi de keyevent d'entrée du shell adb mettra fin à l'APK en cours d'exécution.
PAR EXEMPLE
adb shell monkey -p com.my.application -v -v -v -f /sdcard/monkey_script.txt 1
entrée du shell adb keyevent 4
la source
MotionEvent est généré uniquement en touchant l'écran.
la source