Android中如何模拟触摸事件?
如何使用 Android 模拟触摸事件,同时手动给出 X 和 Y 坐标?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何使用 Android 模拟触摸事件,同时手动给出 X 和 Y 坐标?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
如果您扩展了视图,Valentin Rocher 的方法就有效,但如果您使用事件侦听器,请使用此方法:
有关获取 MotionEvent 对象的更多信息,这里有一个很好的答案:Android:如何创建 MotionEvent?
Valentin Rocher's method works if you've extended your view, but if you're using an event listener, use this:
For more on obtaining a MotionEvent object, here is an excellent answer: Android: How to create a MotionEvent?
这是一个 Monkeyrunner 脚本,它将触摸和拖动发送到应用程序。我一直在使用它来测试我的应用程序是否可以处理快速重复的滑动手势。
Here is a monkeyrunner script that sends touch and drags to an application. I have been using this to test that my application can handle rapid repetitive swipe gestures.
使用adb Shell命令模拟触摸事件
use adb Shell Commands to simulate the touch event
如果我清楚地理解,你想以编程方式执行此操作。然后,您可以使用 onTouchEventView 的 a> 方法,并使用您需要的坐标创建一个
MotionEvent
。If I understand clearly, you want to do this programatically. Then, you could use the onTouchEvent method of
View
, and create aMotionEvent
with the coordinates you need.您应该尝试一下新的 monkeyrunner。也许这可以解决您的问题。你把按键代码放进去测试一下,也许触摸事件也是可能的。
You should give the new monkeyrunner a go. Maybe this can solve your problems. You put keycodes in it for testing, maybe touch events are also possible.
使用 Monkey Script 时,我注意到 DispatchPress(KEYCODE_BACK)
没有做任何真正糟糕的事情。在许多情况下,这是因为 Activity 不消耗 Key 事件。
这个问题的解决方案是混合使用猴子脚本和
adb shell 按顺序输入命令。
1 使用猴子脚本给出了一些很好的时机
控制。等待活动一定的秒数,并且是
阻止 adb 调用。
2 最后发送 adb shell 输入 keyevent 4 将结束运行的 APK。
EG
adb shell Monkey -p com.my.application -v -v -v -f /sdcard/monkey_script.txt 1
adb shell 输入按键事件 4
When using Monkey Script I noticed that DispatchPress(KEYCODE_BACK)
is doing nothing which really suck. In many cases this is due to the fact that the Activity doesn't consume the Key event.
The solution to this problem is to use a mix of monkey script and
adb shell input command in a sequence.
1 Using monkey script gave some great timing
control. Wait a certain amount of second for the activity and is a
blocking adb call.
2 Finally sending adb shell input keyevent 4 will end the running APK.
EG
adb shell monkey -p com.my.application -v -v -v -f /sdcard/monkey_script.txt 1
adb shell input keyevent 4
MotionEvent 仅通过触摸屏幕生成。
MotionEvent is generated only by touching the screen.