看了几遍网上的博客一直没有 模拟出鼠标点击事件和按钮事件,后来抱着试试态度再重试的时候终于有所斩获。下面把具体的情况记录一下:
首先我们必须了解类 Instrumentation:
Instrumentation发送键盘鼠标事件:Instrumentation提供了丰富的以send开头的函数接口来实现模拟键盘鼠标,如下所述:
sendCharacterSync(int keyCode)//用于发送指定KeyCode的按键
sendKeyDownUpSync(int key)//用于发送指定KeyCode的按键
sendPointerSync(MotionEventevent)//用于模拟Touch
sendStringSync(String text)//用于发送字符串
注意:以上函数必须通过Message的形式抛到Message队列中。如果直接进行调用加会导致程序崩溃。
小结:Android instrumentation 只能在当前Acitivity上模拟事件
MotionEvent.ACTION_MOVE
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, offetX, offetY, 0));
nst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(), MotionEvent.ACTION_MOVE, offetX, offetY, 0));
inst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis