MotionEvent主要的事件类型有:
MotionEvent.ACTION_DOWN: 表示用户开始触摸.
MotionEvent.ACTION_MOVE: 表示用户在移动(手指或者其他)
MotionEvent.ACTION_UP:表示用户抬起了手指
MotionEvent.ACTION_CANCEL:表示手势被取消了,一些关于这个事件类型的讨论见:http://stackoverflow.com/questions/11960861/what-causes-a-motionevent-action-cancel-in-android
还有一个不常见的:
MotionEvent.ACTION_OUTSIDE: 表示用户触碰超出了正常的UI边界.
但是对于多点触控的支持,Android加入了以下一些事件类型.来处理,如另外有手指按下了,
有的手指抬起来了.等等:
MotionEvent.ACTION_POINTER_DOWN:有一个非主要的手指按下了.
MotionEvent.ACTION_POINTER_UP:一个非主要的手指抬起来了
UiAutomation类注入事件
evt.setSource(InputDevice.SOURCE_TOUCHSCREEN);
UiAutomation.injectInputEvent(evt, true);
Instrumentation
类注入事件
Instrumentation.sendPointerSync(MotionEvent)
KeyEvent主要的事件类型有:
KeyEvent.ACTION_UP 表示用户抬起了手指
KeyEvent.ACTION_DOWN 表示用户开始按
KeyEvent.KEYCODE_SHIFT_LEFT 表示键盘shift开了
UiAutomation类注入事件
evt.setSource(InputDevice.SOURCE_KEYBOARD);
UiAutomation.injectInputEvent(evt, true);
Instrumentation
类注入事件
Instrumentation.sendKeySync(KeyEvent)