在Android上模拟触摸屏事件

时间:2011-10-13 16:28:24

标签: android touch-event

后台进程或软键盘是否可以创建触摸事件并将其发送到屏幕,就像屏幕实际被触摸一样?

即。模拟触摸屏事件。

2 个答案:

答案 0 :(得分:3)

SDK附带了一个名为Monkey的工具,它可以生成伪随机的用户事件流,例如:

  • 点击
  • 触摸
  • 手势
  • 许多系统级事件。

您可以使用Monkey以随机且可重复的方式对您正在开发的应用程序进行压力测试。

还有monkeyrunner tool提供了一个API,用于编写从Android代码之外控制Android设备或模拟器的程序。使用monkeyrunner,您可以编写 Python程序,安装Android应用程序或测试包,运行它,向其发送击键,截取其用户界面,并在工作站上存储屏幕截图。

答案 1 :(得分:2)

按下按钮,您可以使用以下内容:

dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN,
                KeyEvent.KEYCODE_BACK));

dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_UP,
                KeyEvent.KEYCODE_BACK));

可在此处找到可用密钥代码列表: http://developer.android.com/reference/android/view/KeyEvent.html

对于触摸屏事件,您可以使用:

 dispatchTouchEvent(MotionEvent.obtain(
                    SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),
                    MotionEvent.ACTION_DOWN, Xinput, Yinput, 0));